Evitar que se borren los campos de un formulario

Cabe aclarar que recién comienzo con este lenguaje... Mi situación es la siguiente.

Tengo un formulario de 2 campos

Nombre y ciudad

Lo que quiero es que a la hora de presionar el botón enviar, si es que falta de llenar algún textbox con información que salga el aviso de "Error falta llenar el textbox" pero que ademas de eso no se borren los que si tengan información, porque necesito hacer un formulario con mas campos y seria una molestia para el usuario tener que volver a capturar todo nuevamente.

Este es mi código que tengo actualmente.

<form action="filtro_ciudad.php" method="post">
<table width="100%" border="0">
<tr>
<td width="27%">&nbsp;</td>
<td width="11%">&nbsp;</td>
<td width="23%">&nbsp;</td>
<td width="39%">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td align="right" class="arial">Nombre</td>
<td><label for="textfield"></label>
<input type="text" name="txnombre" id="textfield" /></td>
<td>&nbsp;</td>
<tr>
<td>&nbsp;</td>
<td align="right" class="arial">Ciudad</td>
<td><label for="textfield2"></label>
<input type="text" name="txciudad" id="textfield2" /></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="btenviar" id="button" value="Enviar" /></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
<?php
$nombre = $_POST[txnombre];
$ciudad = $_POST[txciudad];
//echo $nombre;
if (isset($_POST[btenviar])) {
$contador = 0;
$conexión = mysql_connect ("localhost", "root","XXX") or die ("Error al conectar a la base de datos") ;
mysql_select_db("base_nueva", $conexión) or die ("Error al seleccionar la base de datos ");
$registros = mysql_query("SELECT Nombre, ciudad FROM filtro_ciudad WHERE Nombre = '$nombre' and Ciudad = '$ciudad'");
while ($reg = mysql_fetch_array($registros))
{
//echo $reg['Nombre'];
//echo '<br>';
$contador ++;
}
if ($contador > 0)
{
echo '<script>window.location="ya_existe.php"</script>';
echo "<font color='#ff0000'>Registro ya existe</font>";//"Este registro ya existe";
}
else
{
if(empty($_POST[txnombre])){
echo("Escriba un nombre para el nuevo registro");
die;
}
if(empty($_POST[txciudad]))
{
$_POST[txnombre.value]= '$nombre' ;
echo '<br>';
echo("Escriba un nombre para la nueva ciudad");
echo'<br>';
echo $_POST[txnombre];
die;
}
mysql_query("INSERT INTO categorías (Nombre) VALUES ('$_POST[txnombre]')") or die ("Error al grabar".mysql_error());
echo "Registro grabado existosamente";
}
}
?></td>
<td>&nbsp;</td>
</tr>
</table>
</form>

1 Respuesta

Respuesta
2

Este sería el código:

<form action="form.php" method="post">
<table>
<tr>
<td>Nombre</td>
<td>
<label for="textfield"></label>
<input type="text" name="txt_nombre" id="textfield" value="<?php if(isset($_POST['txt_nombre'])){echo $_POST['txt_nombre'];}?>" />
</td>
<tr>
<td>Ciudad</td>
<td>
<label for="textfield2"></label>
<input type="text" name="txt_ciudad" id="textfield2" value="<?php if(isset($_POST['txt_ciudad'])){echo $_POST['txt_ciudad'];}?>"/>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="btn_enviar" id="button" value="Enviar" /></td>
</tr>
</table>
</form>
<?php
if(isset($_POST['btn_enviar'])){
echo "Variables recepcionadas:<br>";
print_r($_POST);
}
?>

Recomendaciones: nunca le pongas tilde a las variables..

Éxitos...

JuanM

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas