W pocie czoła pracuję nad uruchomieniem formularza rejestracyjnego na mojej stronie. Niestety gotowy skrypt, którym dysponowałem posiada wiele wad i niestety muszę go poprzerabiać. Niestety moja znajomość PHP jest znikoma w związku z czym potrzebuję, aby ktoś fachowym okiem rzucił okiem na efekty mojej pracy.
Poniżej przesyłam kod do formularza:
include('connect.php'); $title = "".$row["domain"]." - Zarejestruj się"; include "header.php"; $usrv = 'Wprowadź nazwę użytkownika'; $usrt = 'Nazwa użytkownika zajęta'; $usri = 'Niedozwolone znaki'; $passv = 'Wprowadź hasło'; $passn = 'Wprowadzone hasła się nie zgadzają'; $emailv = 'Wprowadź prawidłowy adres e-mail'; $emailt = 'Podany adres został już użyty'; $pattern = "/^([a-zA-Z0-9_])+$/"; $patternm = "/^[-0-9a-zA-Z_\.]+@([-0-9a-zA-Z_\.]+\.)+([0-9a-zA-Z]){2,4}$/i"; $usrn = $_POST['login']; $usrm = $_POST['email']; $logincheck = "SELECT COUNT(*) FROM username WHERE username='$login'"; $mailcheck = "SELECT COUNT(*) FROM username WHERE email='$email'"; ?>
Trochę przekombinowane chyba, no ale tak mi wyszło. Całą resztę, czyli wpisywanie danych do bazy i wysyłanie maila z kluczem jest załatwione przez plik verify.php. W pierwotnej wersji działało ok, ale po moich poprawkach nie działa. W skrypcie jest jeden kod PHP, który, jak mi się wydaje, odsyła do tego pliku:
<? $pattern = "/^([a-zA-Z0-9_])+$/"; $usrn = $_POST['login']; if(empty($_POST['login']) || $loginz >0 || $mailz >0 || empty($_POST['pass']) || $_POST['pass2'] != $_POST['pass'] || $_POST['email'] == "" || !preg_match($pattern,$usrn)){ }else{ $uspass = $_POST['pass']; $uspassv = $_POST['pass2']; $sr = "1"; $_SESSION['login'] = $usname; $_SESSION['pass'] = $uspass; $_SESSION['pass2'] = $uspassv; $_SESSION['email'] = $emai; $_SESSION['status'] = $sr; } }; ?>
Nigdzie indziej w kodzie nie pojawia "verify.php", dlatego wnioskuję, że za odsyłanie do tej strony odpowiada właśnie ten fragment kodu. Tylko, że teraz to odsyłanie nie działa i nie wiem dlaczego. Proszę o pomoc.