tengo un problema con un sistema de noticias

Iniciado por herminio59, 10 Abril 2014, 04:27 AM

0 Miembros y 1 Visitante están viendo este tema.

herminio59

este es mi formulario
Código (php) [Seleccionar]
<?php if($_GET['error']=='si'){
        echo 
'Noticia publicada correctamente';         }
        if(
$_GET['error']=='titulo'){echo 'Tienes que poner un titulo.';}
        if(
$_GET['error']=='img'){echo 'Tienes que Subir una imagen.';}
        if(
$_GET['error']=='description'){echo 'Falta la descripcion de la noticia';}
        if(
$_GET['error']=='noticia'){echo 'Tienes que poner una noticia';}
        if(
$_GET['error']=='no'){echo 'Revisa los datos algo salio mal';}
            
        }
?>

        <form action="procesar-noticias.php" method="post" enctype="multipart/form-data">
        <b>Titulo de la noticia</b><br />
        <input type="text" name="titulo" id="form1" /><br />
        <input type="file" name="img" hidden/><br />
        <b>Descripcion de la noticia</b><br />
        <textarea cols="50" rows="3" name="descripcion" id="texto1"></textarea><br />
        <input type="text" value="<?php echo $_SESSION['nick']; ?>" name="de" hidden>
        <b>Desarrollo de la noticia</b><br />
        <textarea cols="70" rows="10" name="noticia" id="texto"></textarea><br /><br />
        <input type="submit" value="PUBLICAR" id="submit" />
        <input type="reset" value="BORRAR TODO" id="submit"/>
        </form>

este es para subir los datos a la base de datos
Código (php) [Seleccionar]
<?php
session_start
();
//recuperamos los datos
$dato1=$_POST['titulo'];
$_FILES['img'];
$dato2=$_POST['descripcion'];
$dato3=$_POST['noticia'];
$dato4=$_POST['de'];
// con los datos recuperados ahora lo sometemos a comprobacion
if($dato1==''){
    
header('Location: enviar-noticias.php?error=titulo');
    }else{
        if(
$_FILES['img']==false){
            
header('Location: enviar-noticias.php?error=img');
            }else{
        
// subimos la imagen al servior y la guardamos en una variable
            
require_once('subir.php');
        if(
$dato2==''){
    
header('Location: enviar-noticias.php?error=description');
    }else{
        if(
$dato3==''){
    
header('Location: enviar-noticias.php?error=noticia');
    }else{
        if (
$dato4=='') {
    
header('location: enviar-noticias.php?error');
    }else{
// si lo datos existen entonces les vamos a anadir los br 
$titulo=nl2br($dato1);
$description=nl2br($dato2);
$noticia=nl2br($dato3);
$de=nl2br($dato4);
// 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"INSERT INTO noticias (titulo,descripcion,texto,fecha,imagen,de)VALUES ('$titulo','$description','$noticia','$tiempo','$nombre','$de')";


// ejecutamos los datos de la variable
$consulta=mysql_query($query,$conexion);
if(!
$consulta){
header('Location: enviar-noticias.php?error=no');
}else{
header('Location: enviar-noticias.php?error=si');
}

}

}
}
}
}

?>

el problea es que cuando subo mi noticia esta me dice "Revisa los datos algo salio mal". espero y me puedan ayudar. saludos!!

EFEX

Es importante saber si es un error sql y sino como vas a saber?

Código (php) [Seleccionar]

if(!$consulta){
    //header('Location: enviar-noticias.php?error=no');
    die(mysql_error($conexion));
}


La extension mysql no se usa mas, en su remplazo se utiliza mysqli.
GITHUB 

herminio59

muchas gracias amigo, mi error era en la base de datos.
y con lo de (mysqli) yo sabia sobre eso pero al ponerlo me sale este error:

Warning: mysqli_select_db() expects parameter 1 to be mysqli, null given

por eso es que no lo utilizo, sabes por que me sale ese error?

EFEX

Creo en que te obliga a que utilizes mysqli? ja por la version de php.. da como parametro null por que $db esta vacio, mira conexion.php..


Implementar mysqli
http://php.net/manual/en/mysqli.select-db.php
GITHUB