Sorki, wczoraj nie byłem do końca trzeźwy... Zapomniałem zainicjować tablicę błędów...
Co do "czystej strony" musiałbyś stworzyć DIV na błędy (np <div id="bledy">) który umieszczałbyś wszędzie gdzie PHP WYŚWIETLA raporty o błędach, i w inicjacji formularza zamiast <form action="wyslij.php"> piszesz <form action="<?php echo $_SERVER[’PHP_SELF’];?>">
Lub użyć AJAX (podałem Ci link wyżej).
PS. Następnym razem jeśli będziesz pisał "error w lini 8" to skopiuj jego treść...
--------------------------------
edit: o eregi() nie wiedziałem...
Kod:
<?php
$errors = array();
if (empty($_POST['nick'])) {
$errors[]="Brak nicku.";
}
if (empty($_POST['mail'])) {
$errors[]="Brak maila.";
} else {
if (!eregi ('^[[:alnum:]][a-z0-9_\.\-]*@[a-z0-9\.\-]+\.[a-z]{2,4}$', ($_POST['mail'])))) {
$errors[]="Ten adres jest nieprawidłowy";
}
}
if (empty($_POST['temat'])) {
$errors[]="Brak tematu.";
}
if (empty($_POST['tresc'])) {
$errors[]="Podobno chciałeś coś wysłać...";
}
if (empty($errors)) { // jeśli nie ma błędów...
// tu wrzuć swoją funkcję wysyłającą wiadomość
} else {
echo "wystąpiły następujące błędy:<br/>";
foreach ($errors as $msg) { //wyświetla pojedyncze błędy
echo " - $msg<br />\n";
}
Co do "czystej strony" musiałbyś stworzyć DIV na błędy (np <div id="bledy">) który umieszczałbyś wszędzie gdzie PHP WYŚWIETLA raporty o błędach, i w inicjacji formularza zamiast <form action="wyslij.php"> piszesz <form action="<?php echo $_SERVER[’PHP_SELF’];?>">
Lub użyć AJAX (podałem Ci link wyżej).
PS. Następnym razem jeśli będziesz pisał "error w lini 8" to skopiuj jego treść...
--------------------------------
edit: o eregi() nie wiedziałem...