Sistema de noticias con php y mysql

Sistema de noticias con php ultima parte

Hola amigos nos encontramos de nuevo en esta parte final de nuestro tutorial de noticias con php, en esta parte ya vamos a terminar nuestro tutorial con un sistema de noticias algo útil y que podemos seguir mejorando mucho más. Si te has fijado desde el inicio hemos ido comentando todo el código paso a paso, y que quiere decir esto? Bueno si no sabes programación web y quieres aprender algo aunque sea algo básico entonces iras tomando el camino de cómo funciona esto.

En esta quinta entrada dedicada a crear  noticias con php ya vamos a ver algo más complejo o no más complejo simplemente sintaxis nuevas pero que por supuesto la he creado lo más básica posible y lo más claro posible para que puedas ir tomando la idea de cómo se hace, prácticamente en esta quinta entrada lo que hemos hecho es los script php que validaran nuestras noticias así como los que la actualizaran en la base de datos y un sencillo gestor de imágenes para que podamos subir imagen al servidor de una forma fácil y sin complicaciones.

Si te fijas en esta parte trabajamos mas con las claves primerias de cada tabla que creamos en nuestra base de datos por eso la importancia de ponerle a cada tabla un identificador, Bueno sin marearlos tanto empecemos haber el script php que hemos creado como siempre solo voy a poner el código que hemos creado nuevo y alguna explicación para que lo puedas entender mucho mejor Primeramente vamos a colocar el archivo que actualizara nuestras noticias en la base de datos

Update-noticias.php

<?php
session_start();
//recuperamos los datos
$dato1=$_POST['titulo'];
$dato2=$_POST['descripcion'];
$dato3=$_POST['noticia'];
$id=$_POST['id'];
$imagen=$_FILES['img'];
$destino=$_SERVER['DOCUMENT_ROOT'].'imagen/';
$nombre=$_FILES['img']['name'];
$tipo=$_FILES['img']['type'];
$tmp=$_FILES['img']['tmp_name'];
if((strpos($tipo,"jpeg"))||(strpos($tipo,"png"))||(strpos($tipo,"gif"))){
    echo 'Tu archivo es permitido'.$nombre;   
// con los datos recuperados ahora lo sometemos a comprobacion
if($dato1==''){
    header('Location:'.$_SERVER['HTTP_REFERER'].'?id='.$id);
    }else{       
        // subimos la imagen al servior y la guardamos en una variable
        if($dato2==''){
            header('Location: '.$_SERVER['HTTP_REFERER'].'?id='.$id);
            }else{
            if($dato3==''){
            header('Location: '.$_SERVER['HTTP_REFERER'].'?error=noticia');
        }else{
// si lo datos existen entonces les vamos a anadir los br 
$titulo=nl2br($dato1);
$description=nl2br($dato2);
$noticia=nl2br($dato3);
// con el codigo anterior lo que hemos hecho es recuperar los saltos de lineas
//ahora optenemos la hora en que fue enviada la noticia

$fecha =date("d-M-Y-"); $hora=date('H:i:s'); $tiempo = $fecha."A las ".$hora;

 // con todo esto hecho entonces incluimos la conexion a la base de datos y empezamos a grabar los datos en dicha tabla

include('conexion.php');
$db=mysql_select_db($bd,$conexion);

//almacenamos los datos en una variable
$query= "UPDATE noticias SET titulo='$titulo',descripcion='$description',texto='$noticia',fecha='$fecha',imagen='$nombre' where id_noticia='$id'";

// ejecutamos los datos de la variable
$consulta=mysql_query($query,$conexion);
    if(!$consulta){
        header('Location: '.$_SERVER['HTTP_REFERER'].'?error=no');
        }else{
        header('Location: lista-noticias.php?error=si');
        }}}}}else{
    echo 'Tu archivo tiene una extension no permitiad'.$nombre;
}
?>

 

Si te fijas en este archivo lo que hacemos es una consulta a la base de datos y les decimos que si la clave primaria o id_noticias es igual a él ID que le pasamos por la url que nos muestre todos los resultados y esos resultados lo ponemos en campos de textos para poder editarlo.

Y con qué página vamos a actualizar nuestras noticias bueno si te fijas la tenemos creada desde el principio que se llama editar-noticias.php la cual le hemos agregado un trozo de código php para que cuando entremos a esa página con el id correspondiente la pagina nos devuelva la noticia correspondiente a es ID.

El único código nuevo que le hemos agregado a esta página es el que nos trae las noticias correspondiente que es este en el enlace de descarga esta todo completo.

       

<?php
        include('conexion.php');
        mysql_select_db($bd,$conexion);
        $id= $_GET['id'];
        $query = "SELECT * FROM noticias WHERE id_noticia='$id'";
        $consulta=mysql_query($query,$conexion);
        if($str=mysql_fetch_assoc($consulta)){       
         ?>
        <div id="formulario"><br />
       
        <form action="update-noticias.php" method="post" enctype="multipart/form-data">
        <b>Titulo de la noticia</b><br />
        <input type="hidden" name="id" value="<?php echo $id; ?>"/>
        <input type="text" name="titulo" id="form1" value="<?php echo $str['titulo'];?>" /><br /><br /><img src="imagen/<?php echo $str['imagen'];?>" id="edita-noticia"/><br />Cambiar Imagen de Esta Noticia<br />
        <input type="file" name="img"><br />
       <b>Descripcion de la noticia</b><br />
        <textarea cols="50" rows="3" name="descripcion" id="coment"><?php echo $str['descripcion'];?></textarea><br />
        <b>Desarrollo de la noticia</b><br />
        <textarea cols="70" rows="10" name="noticia" id="coment"><?php echo $str['texto'];?></textarea><br /><br />
        <input type="submit" value="Actaulizar" id="submit" />
        </form>
        <?php }mysql_free_result($consulta); ?>
        </div>

Si te fijas en este codigo lo que hacemos es una consulta a la base de datos pidiendole todos los datos cullo ide corresponda al id que le pasamos por la URL que lo tenemos almacenado en la variable id, entonces lo que le preguntamos a la base de datos es que nos muestre todas las noticias cullo id_noticia sea igual al que le hemos enviado por la variable $id

$query = "SELECT * FROM noticias WHERE id_noticia='$id'";

Tambien hemos agregado otro archivo nuevo porque toda noticia lleva una imagen o varias imagen para eso he creado un pequeno script php para poder subir dicha imagen al servidor es algo muy sencillo pero que puedes modificar y configurar a tu gusto en este caso para el ejemplo que estamos haciendo nos sirve de maravillas.

subir.php

<?php 
 require_once('conexion.php');
error_reporting(E_ALL ^ E_NOTICE);
  $id=$_GET['id']; 
$directorio = $_SERVER['DOCUMENT_ROOT'].'imagen/';
    // Recibo los datos de la imagen
    $nombre = $_FILES['img']['name'];
  $tipo = $_FILES['img']['type'];
     $tamano = $_FILES['img']['size'];

    // Muevo la imagen desde su ubicación
    // temporal al directorio definitivo
    move_uploaded_file($_FILES['img']['tmp_name'],$directorio.$nombre);
    mysql_select_db($bd,$conexion);
    $query="UPDATE noticias SET imagen='$nombre'WHERE id_noticia='$id'";
    $insertar=mysql_query($query,$conexion);

?>

 

Algo que tienes que saver es que como yo estoy haciendo este tutorial en la carpeta curso-php entonces ese es mi directorio raiz y dentro de este directorio tengo la carpeta en la que se almacenaran las imagenes llamada imagen, En tu caso si estas desde un servidor que no es local tendrias que quitar dicho directorio y dejarlo nada mas con el nombre de imagen/.

Actualizo.
Cambie la URL del directorio de las imagenes para que no tengan problema si estan en un servidor de internet, tambien hay que hacer lo mismo en el archivo update-noticis.php, por defecto voy a dejar todos los archivos sin el directorio que tengo que es curso-php.

Otro archivo que hemos ceado nuevo es tambien el que nos permitira borrar las noticias que ya no queremos que esten en nuestro sitio web en este caso yo le he puesto borrar.php.

<?php 
session_start();
include('conexion.php');
mysql_select_db($bd,$conexion);
$id=$_GET['id'];
mysql_query("SELECT * FROM noticias",$conexion);
$query = "DELETE FROM noticias WHERE id_noticia='$id'";
$borrar = mysql_query($query,$conexion);
if(!$borrar){
    echo 'No has seleccionado ninguna noticia para borrar'.$id;
    }else{
        header('Location: lista-noticias.php?borrar=si');
        }
?>

 

Si te fijas en este caso la consulta es parecida a la que hemos hecho anterior mente solo que en esta ocasion le decimos a la base de datos que cargue toda la informacion que tiene correspondiente a ese id y luego con DELETE borramos todos los datos correspondiente a ese id.

mysql_query("SELECT * FROM noticias",$conexion); $query = "DELETE FROM noticias WHERE id_noticia='$id'";

Bueno por ahora creo que es lo unico nuevo que hemos creado o que nos faltaba para teminar nuestro sistema de noticias que lo pueden ver funcionando en sistema de noticias con php y mysql y si quieren descargar todo el script aqui tienen el link donde lo pueden descargar y hacerle las modificaciones que ustedes quieran y si algo no entienden me lo puede comunicar atraves de un comentario o un correo electronico.

Descargar el Sistema de noticias

Ya esta lista la nueva actualizacion de este sistema de noticias

Ultima actualizacion darle un vistazo.

Gracias y hasta un proximo tutorial.

Comments

  1. By Anonymous

  2. By Anónimo

  3. By Anónimo

  4. By Anónimo

  5. By omegave

  6. By David Marquez

  7. By David Marquez

  8. By Anónimo

  9. By Anónimo

  10. By Anónimo

  11. By Anónimo

  12. By carlos

  13. By Jovanni

  14. By CDANIEL

  15. By Jovanni

  16. By Jovanni

  17. By carlos

  18. By Anónimo

  19. By Anónimo

  20. By patricio

  21. By Anónimo

  22. By Ricardo

  23. By Anónimo

  24. By Juan

  25. By Juan

  26. By admin

  27. By admin

  28. By Juan

  29. By Juan

Deja un comentario

Tu dirección de correo electrónico no será publicada.