Foros del Web » Programando para Internet » PHP »

error mio o del php con los if y else??

Estas en el tema de error mio o del php con los if y else?? en el foro de PHP en Foros del Web. Hola cracks, quisiera encontrar al megacrack que me explique porqué si le doy al formulario con $nombre en blanco, me da el mensaje de alerta ...
  #1 (permalink)  
Antiguo 15/01/2008, 15:30
 
Fecha de Ingreso: noviembre-2005
Mensajes: 222
Antigüedad: 18 años, 5 meses
Puntos: 2
Exclamación error mio o del php con los if y else??

Hola cracks, quisiera encontrar al megacrack que me explique porqué si le doy al formulario con $nombre en blanco, me da el mensaje de alerta y no pasa nada. hasta ahi, ok.

Pero si le doy un valor que ya lo tiene en la base de datos, no graba (seguro), como es normal, pero luego SI que hace la consulta a ver si la conexion se ha hecho correctamente y me saca en pantalla que la conexion se ha hecho correctamente.

Y es que no entiendo que la primera parte del else no la hace y si que hace la segunda. ¿alguien tiene idea de pq?

Código PHP:
//consultamos en la BBDD si ya estaba el ingrediente, si está, no lo graba. Y manda un mensaje de alerta.
//ahora grabamos en la base de datos.
    
if (isset($_POST['enviar'])) { 
        if (isset(
$nombre) && $nombre=="") {
echo 
"<script>alert('Debes ingresar al menos el nombre del ingrediente')</script>";}
        else {
                
$comprobando=mysql_query("Select * from ingredientes where nombre = '".@$_REQUEST['nombre']."'",$link);
                if (
mysql_num_rows($comprobando)!=0) {
                    echo 
"<script>alert('ESTE INGREDIENTE YA ESTA EN LA BASE DE DATOS. POR FAVOR, INSERTA OTRO')</script>";}
                else
            
//echo "<br>Registro <b>".$_POST['nombre']."</b> ingresado en la BBDD, consultar al final de la misma si aparece.<BR>"; 
                    
mysql_query("INSERT INTO ingredientes (nombre, familia, descripcion, precio_unidades, precio_decimales, kilo, unidad, gramo, litro) VALUES ('$nombre','$familia','$descripcion','$precio_unidades','$precio_decimales', $kilo, $unidad, $gramo, $litro)",$link);
            
// Ahora comprobaremos que todo ha ido correctamente
                    
$my_error mysql_error($link);
                    if (!empty(
$my_error)) { 
                        echo 
"Ha habido un error al insertar los valores. $my_error";}
                    else {echo 
"Los datos han sido introducidos satisfactoriamente";}
// con este cierro si tiene que grabar porque no tiene el ingrediente(else)
                
}
//con este cierro comprobando si esta puesto el ingrediente(else)
        
}
//con este cierro el de si le ha dado a enviar (if)
    

gracias por vuestra ayuda. Este foro es impresionante
  #2 (permalink)  
Antiguo 15/01/2008, 15:51
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Re: error mio o del php con los if y else??

El segundo else no tiene las llaves...

Código PHP:
if (mysql_num_rows($comprobando)!=0) {
                    echo 
"<script>alert('ESTE INGREDIENTE YA ESTA EN LA BASE DE DATOS. POR FAVOR, INSERTA OTRO')</script>";}
                
// En este else no abriste la llave, pero si la cerraste más abajo...
//else

else
{


            
//echo "<br>Registro <b>".$_POST['nombre']."</b> ingresado en la BBDD, consultar al final de la misma si aparece.<BR>"; 
                    
mysql_query("INSERT INTO ingredientes (nombre, familia, descripcion, precio_unidades, precio_decimales, kilo, unidad, gramo, litro) VALUES ('$nombre','$familia','$descripcion','$precio_unidades','$precio_decimales', $kilo, $unidad, $gramo, $litro)",$link);
            
// Ahora comprobaremos que todo ha ido correctamente
                    
$my_error mysql_error($link);
                    if (!empty(
$my_error)) { 
                        echo 
"Ha habido un error al insertar los valores. $my_error";}
                    else {echo 
"Los datos han sido introducidos satisfactoriamente";}
// con este cierro si tiene que grabar porque no tiene el ingrediente(else)
                

  #3 (permalink)  
Antiguo 15/01/2008, 16:54
 
Fecha de Ingreso: noviembre-2005
Mensajes: 222
Antigüedad: 18 años, 5 meses
Puntos: 2
Re: error mio o del php con los if y else??

ahora si q flipo... y entonces pq no me daba ningun tipo de error y SI que ingresa en la base de datos cuando no tiene que ejecutar el alert??

gracias x tu ayuda. Ahora funciona perfectamente.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:48.