Чтобы получить дополнительные очки, вы можете использовать оба!
Добавьте плагин проверки JQuery к вашей форме. Это будет отображать ошибки в реальном времени для пользователя. Вы не можете полностью полагаться на этот метод, потому что, если пользователь отключает JS, тогда работа проверки не работает;)
В вашем PHP проверяйте валидацию, и если она не пройдена, используйте заголовок (как упомянуто выше в phpNutt), но я бы не рекомендовал передавать сообщение об ошибке в URL, так как это может выглядеть непрофессионально. Вместо номера, просто проверьте номер на странице регистрации. Если он есть , тогда отобразит ошибку.
// auxiliary php page
if (conditon met) {
} else {
header("location: /signup_page.php?error=1");
exit;
}
// signup page
if(isset($_GET['error']) && $_GET['error']==1) {
echo "<h3>Form Failed, please try again</h3>";
}