Existe una opción para mi mas elegante en php. (Aunque javascript es igualmente valida)
Ventaja: No dependes de si el usuario tiene o no habilitado javascript.
Desventaja: No puedes mostrar el error en forma de ventana de alerta sino debes colocarlo dentro de tu pagina.
Ejemplo:
Código PHP:
public function add_user()
{
//print_r($_FILES);
if(empty($_POST["nom"]) or empty($_POST["correo"]) or empty($_POST["login"]) or empty($_POST["pass"])
or empty($_FILES["foto"]["name"]) or parent::valida_correo($_POST["correo"])==false )
{
header("Location: "www.mipagina.php?m=1");exit;
}
}
Y en mi pagina.php deberia tener algo por el estilo.
Código PHP:
<?php
if(isset($_GET["m"]))
{
switch ($_GET["m"])
{
case '1':
?>
<h2 style="color: red;">Los datos están vacíos</h2>
<?php
break;
case '2':
?>
<h2 style="color: red;">El archivo de la foto solo puede ser JPG</h2>
<?php
break;
case '3':
?>
<h2 style="color: red;">El login elegido ya está siendo usado por otro usuario</h2>
<?php
break;
case '4':
?>
<h2 style="color: green;">El usuario se ha creado exitosamente</h2>
<?php
break;
}
}
?>
p.s Este es un ejemplo que saque de algunos de mis scripts. No te lo tomes literal. Deberias adaptarlo a tu caso en particular.