Te doy la pista, estás hablando de validación de formularios.
La validación puede hacerse en dos momentos, según si quieres hacerlo en cliente o en servidor.
Para hacerlo en cliente necesitas JavaScript y este lenguage tiene una función precisamente para hacer lo que tú quieres, que se llama alert(). la cosa sería más o menos así:
Código Javascript
:
Ver originalfunction validateForm() {
// sacas valor
var campo = document.forms["nombre_del_form"]["campo"].value;
var err = false;
var message = "Se han producido los siguientes errores:\n";
// compruebas lo que quieras sobre ese valor (por ejemplo, que esté vacío)
if (...) {
message += "Campo campo no pasa la validación";
err = true;
}
// aquí puedes añadir tantas validaciones como quieras.
// si hay error, lo imprimimos y devolvemos false. Si no, devolvemos true
if (err) {
alert(message);
return false;
} else {
return true;
}
}
Para hacer la validación en PHP la idea es la misma pero con matices:
Código PHP:
Ver originalfunction ValidateForm() {
// sacas valor
$campo= $_POST['campo'];
$err = false;
$message = "Se han producido los siguientes errores:<br/>";
// compruebas lo que quieras sobre ese valor (por ejemplo, que esté vacío)
if (...) {
$err = true;
$message .= "Campo campo no pasa la validación<br/>";
}
// aquí puedes añadir tantas validaciones como quieras.
// si existe error, devolvemos el mensaje. Y si no, devolvemos true.
if ($err) {
return $message;
} else {
return true;
}
}
La forma de llamar también es diferente. Para JavaScript se hace desde onsubmit del form:
Código HTML:
Ver original<form name="nombre_del_form" action="loquesea" onsubmit="return validateForm()" method="post">
Sin embargo, la validación desde PHP se hace en servidor. En el código de recepción del formulario tendrás que hacer:
Código PHP:
Ver originalif ($message = ValidateForm()) {
// Aquí todo ha ido bien
} else {
// Aquí no se ha pasado alguna validación y en $message tienes un mensaje que te dice qué ha pasado.
}
Por último, tienes que saber que es bueno hacer validación tanto en cliente (JS) como en servidor (PHP). Por qué? Sencillo, si la haces sólo en servidor estás enviando mensajes de más, ya que envías el form, PHP te dice que no está bien y vuelves al principio, hay un trasiego de datos que te puedes ahorrar, ya que si está validado con JS no se envía el mensaje al servidor. Si lo validas sólo con JavaScript tienes un problema, algunos navegadores (por ejemplo, Firefox) permiten quitar JavaScript, por lo que te podrían enviar datos erróneos queriendo y joderte la aplicación.
Un saludo.