Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/01/2008, 15:30
jovendigital
 
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