Za każdym razem wywala że:
Konto zostało już aktywowane albo token lub nick jest zły...
<?php // Configuration. // Realm database. $r_db = "realmd_tbc"; // IP (and port). $ip = ":3306"; // Username. $user = ""; // Password. $pass = ""; // Site title. $title = ""; $title2 = ""; // End config. function error_s($text) { echo("<br /><br /><a style=\"color:orange;\" href=\"".$_SERVER["SCRIPT_NAME"]."\">Wróć...</a></p>"); } $page = '<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>' . $title . '</title> </head> <body style="background-color:black;color:yellow;font-family:verdana;"> <form method="post" action="' . $_SERVER["SCRIPT_NAME"] . '"> <p style="text-align:center;"> <strong>' . $title2 . ' - ' . $title . '</strong> <br /><br /><br /> Login: <br /><input name="username" type="text" maxlength="14" /><br /> Hasło: <br /><input name="password" type="password" maxlength="12" /><br /> Email: <br /><input name="email" type="text" maxlength="50" /> <br /><input name="tbc" type="checkbox" checked="checked" /> TBC<br /><br /><br /> <button type="submit">Rejestruj</button> <center><img src="captcha.php" /></center> </p> </form> </body> </html>'; $user_chars = "#[^a-zA-Z0-9_\-]#"; $email_chars = "/^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$/"; if (!$con) { } // dodajemy zmienną, która mówi, czy formularz został prawidłowo wypełniony // na początku przyjmujemy, że tak $isValid = true; error_s("You did not enter all the required information."); // jeśli jednak któreś pole jest puste, to formularz nie został prawidłowo wypełniony $isValid = false; } else { $blocked = "1"; $active = "0"; error_s("Login jest za krótki."); // formularz nie został dobrze wypełniony również wtedy, gdy nazwa użytkownika jest zbyt krótka $isValid = false; error_s("Login jest za długi."); // lub zbyt długa $isValid = false; } error_s("Hasło jest za krótkie."); $isValid = false; error_s("Hasło jest za długie."); $isValid = false; } error_s("Email jest za krótki."); $isValid = false; error_s("Email jest za długi."); $isValid = false; } error_s("Nazwa użytkownika zawiera niedozwolone znaki."); $isValid = false; error_s("Hasło zawiera niedozwolone znaki."); $isValid = false; } error_s("Email ma zły format.."); $isValid = false; } if ($_POST['tbc'] != "on") { $tbc = "0"; } else { $tbc = "1"; } $qry = @mysql_query("select username from ".mysql_real_escape_string($r_db).".account where username = '".$username."'", $con); if (!$qry) { $isValid = false; foreach ($existing_username as $key=>$value) { $existing_username = $value; } } error_s("Ta nazwa użytkownika (login) jest już zajęta.."); $isValid = false; } $qry = @mysql_query("select email from ".mysql_real_escape_string($r_db).".account where email = '".$email."'", $con); } if (!$qry) { $isValid = false; } foreach ($existing_email as $key=>$value) { $existing_email = $value; } } if ($existing_email == $_POST['email']) { error_s("Ten adres email jest już zajęty."); $isValid = false; } if ($isValid) { $register_sql = "insert into ".mysql_real_escape_string($r_db).".account (username, sha_pass_hash, email, expansion, locked, token) values (upper('".$username."'),'".$sha_pass_hash."','".$email."','".$tbc."','".$blocked."','".$t."')"; $nadawca = "From: The Ocolus <gall@compzone.org>rn"; //ustawiamy nadawcę listu $temat = "Aktywuj swoje konto !"; //ustawiamy temat listu mail($email, $temat, "Dziekujemy $username za zalozenie konta w naszym serwisie. Zeby aktywowac Twoje nowo utworzone konto kliknij w ponizszy link <a href="http://www.theocolus.pl/activate.php?t=$t&n=$username" target="_blank">http://www.theocolus.pl/activate.php?t=�...=$username</a> Wiadomosc ta zostala wyslana do Ciebie przez osobnika, ktory posiadal IP: $REMOTE_ADDR", $nadawca); //wysyłamy list na podany przez użytkownika adres e-mail znajdujący się w zmiennej $email $wynikmail = "Dziękujemy za założenie konta w naszym serwisie ! Na podany przed chwilą przez Ciebie adres e-mail została wysłana wiadomość, którą należy odebrać i aktywować swoje konto klikając w link aktywacyjny znajdujący się w wiadomości"; //jeżeli się to uda wyświetlamy stosowną informację if (!$qry) { $isValid = false; } echo("Konto zostało utworzone pomyślnie... <br /> <br /> $wynikmail <br /> <a href=\"".$_SERVER["SCRIPT_NAME"]."\">Wróć...</a></p>"); } else { } } else { } ?>
activate.php
<?php // Configuration. // Realm database. $r_db = ""; // IP (and port). $ip = ":3306"; // Username. $user = ""; // Password. $pass = ""; // Site title. $link = mysql_connect($ip, $user , $pass) or die("Nie można nawiązać połączenia !"); //próbujemy połączyć się z bazą danych mysql_select_db($r_db ,$link) or die("Nie można wybrać bazy danych!"); //wybieramy bazę danych, z której będziemy korzystać $wynik = mysql_query("SELECT * FROM account WHERE token = '$t' AND username = '$username' AND (locked != '1')"); //sprawdzamy czy podany w adresie token i nick zgadza się oraz wartość pola locked (czyli czy konto zostało aktywowane) { echo '<center><h2>Konto zostało już aktywowane,<BR>albo token lub nick są błędne.</h2></center>'; //wyświetlamy stosowną informację exit; } else { mysql_query("UPDATE account SET locked='0' WHERE token = '$t' AND username = '$username'", $link); //jeżeli wartość pola locked jest różna od 0 to aktywujemy to konto ustawiając pole ok na 0 echo '<center><h1>Dziękujemy za aktywację konta</h1><BR><h2>Teraz możesz już z niego korzystać</h2></center>'; } ?>