Witam. Mam problem ze skryptem potwierdzenia rejestracji.
Skrypt wysyła maila z linkiem aktywacyjnym (postać linku to adres.pl/user_activate.php?key=md5_loginu).
I problem polega na tym że po wejściu w link nie zmienia pola aktywacji z 0 na 1.
Mój skrypt wygląda tak.
w rejestracji wysyłanie maila:
// Wiadomość
$message = 'Witamy. Niniejszy adres mail zostal uzyty przy rejestracji w serwisie.<br><br>
Jesli nie rejestrowales(as) sie u nas, poprostu zignoruj tego maila.<br>
Aby aktywowac zarejestrowane kont kliknij w ponizszy link<br>
<a href="http://www.adres.pl/user_activate.php?key='.$key.'"><b>Potwierdz rejestracje</b></a>';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// W przypadku każdej linii dłuższej niż 70 znaków powinniśmy użyć funkcji wordwrap()
$message = wordwrap($message, 70);
// Wyślij
mail($email, 'Aktywacja konta na adres.pl', $message, $headers);
W user_activate.php:
$Query='SELECT * FROM users WHERE login="'.mysql_real_escape_string($_GET['user']).'"';
$result = mysql_query($Query) or die(mysql_error());
while ($row = mysql_fetch_array($result))
{
if($row[active]==0) {
if($_GET['key']==md5($row[login])) {
$a_user='UPDATE users SET active=1';
mysql_query($a_user);
}
}
elseif($row[active]==1) {
echo'UWAGA! User juz aktywowany. Mozesz sie zalogowac.';
}
else {
echo'UWAGA! Wystapil blad. Sprawdz poprawnosc link aktywacyjnego lub skontaktuj sie z administracja.';
}
}