Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: NaSaRiD15 en 21 Septiembre 2008, 20:52 pm



Título: Duda PHP, agregar a bd.
Publicado por: NaSaRiD15 en 21 Septiembre 2008, 20:52 pm
No se porque el codigo este, que hice no me inserta en la base de datos el registro.

Código:
<?php
$nom = $_GET['nombre'];
$dire = $_GET['dir'];
$tele = $_GET['tel'];
if (empty($nom) || ($dire) || ($tele)){
echo "<div class = 'diverror'><span style = 'color:#0000FF; font-size:14px'> No se puede dejar ningun campo vacio
</span></div>";
}else{
$conex = mysql_connect("localhost", "root", "");
mysql_select_db("bios");
$sql = "INSERT INTO socios (idsocio, nombre, direccion, telefono) VALUES (NULL, '$nom', '$dire', '$tele')";
$res = mysql_query($sql, $conex);
if($res){
echo "<div class = 'diverror'><span style = 'color:#0000FF; font-size:14px'> El usuario ah sido agregado correctamente.
</span></div>";
}else{
echo "<div class = 'diverror'><span style = 'color:#0000FF; font-size:14px'> 'No se puedo agregar el usuario'.mysql_error();
</span></div>";
}
mysql_close($conex);
}

?>

Para mi el error puede que este aca if (empty($nom) || ($dire) || ($tele)){

ya que el programa siempre me devuelve "No se puede dejar ningun campo vacio"

Y no agrega nada a la Base de datos.

Si a alguien se le ocurre algo, graciasssssssss!


Título: Re: Duda PHP, agregar a bd.
Publicado por: antraXactive en 22 Septiembre 2008, 00:03 am
Esa condicional está mal, como es lógico $dire y $tele siempre devolverán algún valor.
Prueba a poner lo siguiente.
Código
  1. if(empty($nom) == true || empty($dire) == true || empty($tele) == true){
  2. ...
  3. }else{
  4. ...
  5. }

El tema de "== true" aunque no debería ser necesario es mejor hacerlo ya que nunca sabes cuando te pueden cambiar estas cosas en el servidor y no cuesta nada asegurarse de que siempre va a comprobar las cosas como tocan.


Título: Re: Duda PHP, agregar a bd.
Publicado por: NaSaRiD15 en 22 Septiembre 2008, 03:15 am
Excelente, muchas gracias, ahora si me funcionoo!!!  ;D


Saludos.