Quiero validar un formulario para asegurarme de que el usuario escriba un nombre y un apellido.¿Cómo puedo mantener un valor en una entrada de texto después de que se produzca una entrega?
Si un usuario escribe solo su apellido, el formulario debe mostrarse nuevamente con un mensaje de error junto al campo del último nombre, pero el valor del nombre debe ser todavía estar allí.
No sé cómo hacer esto, jeje. Solo soy un programador de PHP novato.
Esto es lo que tengo hasta ahora:
<html>
<head>
</head>
<body>
<form action="formprueba.php" method="get">
<dl>
<dt>Last Name:</dt>
<dd><input type="text" value="" name="name" />
<?php if((isset($_GET['name'])) && ($_GET['name'] == "")){
echo "Please write a correct name.";
}
?>
</dd>
<dt>Last Name:</dt>
<dd><input type="text" value="" name="lastname" />
<?php if((isset($_GET['lastname'])) && ($_GET['lastname'] == "")){
echo "Please write a correct last name.";
}
?>
</dd>
<br />
<dt>
<input type="submit" value="enviar" />
</dt>
<input type="hidden" name="enviado" value="j"/>
</dl>
</form>
</body>
Además, estoy seguro de esta validación es horrible, si usted tiene un par de minutos, estaría muy grad si alguien puede mostrarme una forma más eficiente de validar (sin usar complementos de terceros).
Gracias SO.
Para manejar el aviso de índice indefinido cuando $ _GET no está establecido, generalmente hago esto en algún lugar en la parte superior de los scripts $ lastname = isset ($ _ GET ['lastname'])? $ _GET ['lastname']: ''; – vsr