Foros del Web » Programando para Internet » PHP »

Error en comprobación de datos

Estas en el tema de Error en comprobación de datos en el foro de PHP en Foros del Web. Buenas, tengo un problema y no sé como resolverlo, aqui está el código: Código PHP: <html> <body> <form name="insertar" action="index2.php" method="post"> Marca: <input type="text" name="marca"><br> <input type="Submit" name="enviar" value="Enviar"> </form> <?php // Comprueba que el campo no esté vacío. if (isset( $_POST ...
  #1 (permalink)  
Antiguo 27/01/2006, 12:30
Avatar de Malocado  
Fecha de Ingreso: septiembre-2004
Mensajes: 24
Antigüedad: 13 años, 3 meses
Puntos: 0
Error en comprobación de datos

Buenas, tengo un problema y no sé como resolverlo, aqui está el código:

Código PHP:
<html>
<body>
<form name="insertar" action="index2.php" method="post">
Marca: <input type="text" name="marca"><br>
<input type="Submit" name="enviar" value="Enviar">
</form>
<?php

// Comprueba que el campo no esté vacío.
if (isset($_POST['marca']) && !empty($_POST['marca'])) {

// Conexión a la base de datos
$link mysql_connect("localhost","usuario","clave");
mysql_select_db("basedatos",$link);

// Insertamos los datos
mysql_query("INSERT INTO marcas (marca) VALUES ('{$_POST['marca']})",$link);

// Comprobamos que esté todo correcto
$error mysql_error($link);

if (!empty (
$error)) { 

    echo 
"Ha habido un error al insertar los datos. <br><br>$error"
        } else {
    echo 
"Los datos se han añadido correctamente";
        } else {
    echo 
"Error, no has introducido los datos";
        }
    }
?>
</body>
</html>
Me da error en el else que está entre estas 3 líneas:

Código PHP:
echo "Los datos se han añadido correctamente";
    } else {
echo 
"Error, no has introducido los datos"
¿Cual puede ser el problema?

Gracias de antemano.

Saludos.
  #2 (permalink)  
Antiguo 27/01/2006, 12:38
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
Código PHP:
else { 
    echo 
"Error, no has introducido los datos"
        } 
//Este else no esta asociado con ningun if puesto que el else de arriba corresponde al if (!empty ($error)) . 
  #3 (permalink)  
Antiguo 27/01/2006, 12:46
 
Fecha de Ingreso: mayo-2003
Mensajes: 148
Antigüedad: 14 años, 6 meses
Puntos: 0
Creo que deberías poner:

Código PHP:

if (!empty ($error)) {         //Es decir si la variable error no esta vacia muestra el error

       
echo "Ha habido un error al insertar los datos. <br><br>$error"
    
    }else {                       
//Si la variable esta vacia

       
echo "Los datos se han introducido correctamente";
   
    } 
  #4 (permalink)  
Antiguo 27/01/2006, 13:07
Avatar de Malocado  
Fecha de Ingreso: septiembre-2004
Mensajes: 24
Antigüedad: 13 años, 3 meses
Puntos: 0
Gracias, justamente era eso, pero ahora tengo otro problema y es al insertar los datos en la BD, me sale el siguiente error:

Ha habido un error al insertar los datos.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Ferrari)' at line 1

Gracias de antemano.

Saludos.

Edito: Tema solucionado me faltaba una ' en

Código PHP:
mysql_query("INSERT INTO marcas (marca) VALUES ('{$_POST['marca']})",$link); 
Quedando así:

Código PHP:
mysql_query("INSERT INTO marcas (marca) VALUES ('{$_POST['marca']}')",$link); 
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 06:38.