Cześć, mam problem, otóż piszę skrypt rejestracji. Wszystko jest w porządku poza jedną rzeczą . Jeśli wystąpi błąd podczas rejestracji, to mail zostaje wysłany (mimo, że nie powinien), a ma zostać wysłany po UDANEJ rejestracji. W bazie nie dodaje się nowe konto, lecz mail i tak dochodzi. Możecie mi powiedzieć w czym tkwi błąd ?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Rejestracja</title>
</head>
<body>
<!-- Formularz Rejestracji -->
<table cellspacing="10">
<form action="reg.php" method="post">
<tr><td>Login :</td> <td><input type="text" name="login" /></td></tr>
<tr><td> Hasło :</td><td><input type="password" name="haslo" /></td></tr>
<tr><td>Powtórz hasło :</td><td><input type="password" name="haslo2" /></td></tr>
<tr><td> E-mail</td><td><input type="text" name="email" /></td></tr><br />
<tr><td><input type="submit" name="wyslij" value="Rejestruj"/>
<input type="reset" name="wyczysc" value="Wyczyść"/></td></tr>
</form></td>
</table>
<!-- Koniec Formularza Rejestracji -->
<?
/* Połączenie z bazą danych */
require_once('config.php');
/* Na wypadek wyłączonego parametru Register_globals */
$login=$_POST['login'];
$haslo=md5($_POST['haslo']); $haslo2=md5($_POST['haslo2']); $email=$_POST['email'];
/* Zmienne */
$min = '4'; // minimalna liczba znaków
$maks = '16'; // maksymalna liczba znaków
$temat = 'Dziękujemy za rejestrację na www.mailer.linuxpl.eu !'; // temat wiadomości e-mail po rejestracji
$tresc = 'Dziękujemy za rejestrację ! Zapraszamy do aktywnego uczestniczenia w życiu strony ! Pozdrawiamy, administracja'; // treść wiadomości e-mail po rejestracji
$od = 'mailer.linuxpl.eu'; // nadawca wiadomości e-mail
/* Zapytania do bazy danych */
$reg = "INSERT INTO `uzytkownicy` (`id`, `login`, `haslo`, `email`) VALUES ('', '$login', '$haslo', '$email')"; // utworzenie konta
/* Wysłanie mail`a po rejestracji */
$mail = mail("$email" , "$temat" , "$tresc" , "From: $od");
/* Sprawdzanie poprawności wypełnienia formularza */
if (isset($_POST['wyslij'])) { {
die ('<font color="red"><b>Wszystkie pola muszą być wypełnione !</font></b>'); // sprawdzanie czy wszystkie pola zostały wypełnione }
elseif ($haslo !=$haslo2) {
die ('<font color="red"><b>Wpisane hasła nie pasują do siebie !</font></b>'); // sprawdzanie czy podane hasła są takie same }
elseif (!ereg("[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+.[a-zA-Z]" , $email)) { die ('<font color="red"><b>Adres e-mail jest nie prawidłowy !</font></b>'); // sprawdzanie poprawności adres e-mail }
elseif (strlen ($login) < $min) { die ('<font color="red"><b>Podany login jest zbyt krótki !</font></b>'); // sprawdzanie czy login nie jest za krótki }
elseif (strlen ($haslo) < $min) { die ('<font color="red"><b>Podane hasło jest zbyt krótkie !</font></b>'); // sprawdzanie czy hasło nie jest za krótkie }
elseif (strlen ($login) > $maks) { die ('<font color="red"><b>Podany login jest za długi!</font></b>'); // sprawdzanie czy login nie jest za długi }
else {
$mail;
echo ('<font color="green"><b>Twoje konto zostało założone ! <br /> Możesz teraz się zalogować .</font></b>');
}
}
?>
</body>
</html>