Foros del Web » Programando para Internet » PHP »

Mensajes de validación que yo no he programado

Estas en el tema de Mensajes de validación que yo no he programado en el foro de PHP en Foros del Web. Hola estoy empezando a trabajar con BD y Dreamweaver y al insertar registros, cuando un campo es not null, y yo no introduzco algún dato ...
  #1 (permalink)  
Antiguo 08/01/2008, 12:30
 
Fecha de Ingreso: noviembre-2007
Mensajes: 12
Antigüedad: 16 años, 5 meses
Puntos: 0
Mensajes de validación que yo no he programado

Hola estoy empezando a trabajar con BD y Dreamweaver y al insertar registros, cuando un campo es not null, y yo no introduzco algún dato me sale un mensaje del tipo: "Column 'nombre' cannot be null", es decir, se da cuenta de que está vacío y me advierte de que no es posible. Hasta ahí perfecto... pero ¿como puedo hacer para poner yo mi propio mensaje?, he hecho un tipo condiconal:
i
f $_POST['nombre'] está vacío echo "Inserte un nombre" y me sale lo siguiente.

Inserte un nombre"Column 'nombre' cannot be null", o sea que me salen los 2 mensajes.
¿Donde se encuentran los mensajes de error que no poingo yo? Los he buscado en mi archivo php y no ahi nada de nada.

Gracias y un saludo.
  #2 (permalink)  
Antiguo 08/01/2008, 13:39
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Mensajes de validación que yo no he programado

Tiene pinta de ser un mensaje de mysql, ¿no tienes ningún echo de un mysql_error por ahí? ¿puedes poner el resto del código?
  #3 (permalink)  
Antiguo 08/01/2008, 13:49
 
Fecha de Ingreso: noviembre-2007
Mensajes: 12
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Mensajes de validación que yo no he programado

No he encontrado ningún echo mysql_error así que te pongo todo el código y muchas gracias por contestar.

<?php require_once('../Connections/conexion.php'); ?>
<?php
if (array_key_exists('Continuar',$_POST)){
if (!isset($_POST['alpino']) && !isset($_POST['nordico'])) {
echo "Debes insertar al menos una modalidad de esquí"; } else {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "ins_estacion")) {
$insertSQL = sprintf("INSERT INTO estacion (nombre, id_pais, id_cordillera, alpino, nordico) VALUES (%s, %s, %s, %s, %s)",
GetSQLValueString($_POST['estacion'], "text"),
GetSQLValueString($_POST['id_pais'], "int"),
GetSQLValueString($_POST['id_cordillera'], "int"),
GetSQLValueString(isset($_POST['alpino']) ? "true" : "", "defined","'s'","'N'"),
GetSQLValueString(isset($_POST['nordico']) ? "true" : "", "defined","'s'","'N'"));
}
}
mysql_select_db($database_conexion, $conexion);
$Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());
}

mysql_select_db($database_conexion, $conexion);
$query_lista_paises = "SELECT * FROM pais where pais.id_pais != 1 ORDER BY pais.pais";
$lista_paises = mysql_query($query_lista_paises, $conexion) or die(mysql_error());
$row_lista_paises = mysql_fetch_assoc($lista_paises);
$totalRows_lista_paises = mysql_num_rows($lista_paises);

$colname_lista_cordilleras = "-1";
if (isset($_POST['id_pais'])) {
$colname_lista_cordilleras = (get_magic_quotes_gpc()) ? $_POST['id_pais'] : addslashes($_POST['id_pais']);
}
mysql_select_db($database_conexion, $conexion);
$query_lista_cordilleras = sprintf("SELECT id_zona, zona FROM cordillera WHERE id_pais = %s", $colname_lista_cordilleras);
$lista_cordilleras = mysql_query($query_lista_cordilleras, $conexion) or die(mysql_error());
$row_lista_cordilleras = mysql_fetch_assoc($lista_cordilleras);
$totalRows_lista_cordilleras = mysql_num_rows($lista_cordilleras);

mysql_select_db($database_conexion, $conexion);
$query_lista_estaciones = "SELECT estacion.id_estacion, estacion.nombre, estacion.alpino, estacion.nordico, cordillera.zona, pais.pais FROM pais, estacion, cordillera WHERE estacion.id_pais = pais.id_pais AND estacion.id_cordillera = cordillera.id_zona ORDER BY cordillera.zona";
$lista_estaciones = mysql_query($query_lista_estaciones, $conexion) or die(mysql_error());
$row_lista_estaciones = mysql_fetch_assoc($lista_estaciones);
$totalRows_lista_estaciones = mysql_num_rows($lista_estaciones);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Estaciones</title>
<link href="/admin/estilosadmin.css" rel="stylesheet" type="text/css" />
</head>

<body>
<h1>Insertar nueva estaci&oacute;n de esqu&iacute;
</h1>

<form action="<?php echo $editFormAction; ?>" name="ins_estacion" id="ins_estacion" method="POST" >

<label for="textfield">Estación</label>
<input name="estacion" type="text" class="caja_mediana" id="estacion" <?php if (isset ($_POST['estacion'])) { $estacion=$_POST['estacion']; echo "value='$estacion'";}?> />
</p>
<p>
<input type="checkbox" name="alpino" value="checkbox" id="alpino" <?php if (isset($_POST['alpino'])) { echo 'checked'; } ?> />
<label for="checkbox">Alpino</label>
<br />
<input type="checkbox" name="nordico" value="checkbox" id="nordico" <?php if (isset($_POST['nordico'])) { echo 'checked'; } ?> />
<label for="checkbox2">Nórdico</label>
</p>
<label for="select">Pais</label>

<select name="id_pais" class="caja_select" id="id_pais" onChange="submit()">
<option value="1" <?php if (!(strcmp("", $_POST['id_pais']))) {echo "selected=\"selected\"";} ?> <?php if (!(strcmp(1, $_POST['id_pais']))) {echo "selected=\"selected\"";} ?>>España</option><?php
do {
?><option value="<?php echo $row_lista_paises['id_pais']?>"<?php if (!(strcmp($row_lista_paises['id_pais'], $_POST['id_pais']))) {echo "selected=\"selected\"";} ?>><?php echo $row_lista_paises['pais']?></option>
<?php
} while ($row_lista_paises = mysql_fetch_assoc($lista_paises));
$rows = mysql_num_rows($lista_paises);
if($rows > 0) {
mysql_data_seek($lista_paises, 0);
$row_lista_paises = mysql_fetch_assoc($lista_paises);
}
?>
</select>
</p>
<p>
<label for="select">Cordillera</label>
<select name="id_cordillera" class="caja_select" id="id_cordillera">
<option value="" <?php if (!(strcmp("", $_POST['id_zona']))) {echo "selected=\"selected\"";} ?>>Seleccione Cordillera</option>
<?php
do {
?>
<option value="<?php echo $row_lista_cordilleras['id_zona']?>"><?php echo $row_lista_cordilleras['zona']?></option>
<?php
} while ($row_lista_cordilleras = mysql_fetch_assoc($lista_cordilleras));
$rows = mysql_num_rows($lista_cordilleras);
if($rows > 0) {
mysql_data_seek($lista_cordilleras, 0);
$row_lista_cordilleras = mysql_fetch_assoc($lista_cordilleras);
}
?>
</select>
<br />
<input name="Continuar" type="submit" id="Continuar" value="Continuar" />
</p>
<input type="hidden" name="MM_insert" value="ins_estacion">
</form>
<p>
<p>&nbsp;</p>
</body>
</html>
<?php
mysql_free_result($lista_paises);

mysql_free_result($lista_cordilleras);

mysql_free_result($lista_estaciones);
?>
  #4 (permalink)  
Antiguo 08/01/2008, 13:54
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Mensajes de validación que yo no he programado

Código PHP:

$Result1 
mysql_query($insertSQL$conexion) or die(mysql_error()); 
Mira a ver si es éste. Eso lo que hace es que si el query da algún error "mata" al script y saca el mensaje que tiene entre parentesis, en éste caso es el error de mysql.

Por otra parte, la validación de los campos la tendrías que hacer antes de la consulta SQL y si hay algún error, no intentar el insert.
  #5 (permalink)  
Antiguo 08/01/2008, 14:03
 
Fecha de Ingreso: noviembre-2007
Mensajes: 12
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Mensajes de validación que yo no he programado

Muchas gracias de nuevo voy a probar lo que me has dicho y después ya comento si funcionó o si sigue mal.
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 13:30.