![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 2 Dołączył: 6.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich!
Na samymy początku napisze że jestem w te klocki cienki i moja wiedza o php sprawdza się do napisania prostego skryptu no i zainstalowania jakiegoś skryptu:) Mam oto taki skrypcik do logowania użytkowaników na stronie może na samym początku podam kod źródłowy a dopiero później napisze co nie działa ![]() ![]() rejstracja.php Kod <? $mysql_host = "localhost"; $mysql_login = "tutaj_moj_login_do_bazy"; $mysql_haslo = "tutaj_jest_moje_haslo"; $mysql_baza = "baza"; $mysql_tabela = "tabel_mySQL"; $twoj_adres = "tutaj_adres_email"; $opcja = trim($_REQUEST["opcja"]); if ($opcja=="test") { // ************************************************** // ********** 1. sprawdzenie danych i dodanie uzytkownika // ************************************************** $login = htmlspecialchars(stripslashes(trim($_POST["login"])), ENT_QUOTES); $haslo = htmlspecialchars(stripslashes(trim($_POST["haslo"])), ENT_QUOTES); $email = htmlspecialchars(stripslashes(trim($_POST["email"])), ENT_QUOTES); $imie = htmlspecialchars(stripslashes(trim($_POST["imie"])), ENT_QUOTES); if (strlen($login)<3 or strlen($login)>50 or !eregi("^[a-zA-Z0-9_.]+$",$login)) { $blad++; echo "<span style=\"color:red;\">Login musi mieć od 3 do 50 znaków bez polskich liter i spacji!</span><br />"; } else { if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) { if (mysql_select_db($mysql_baza)) { $wynik=mysql_query("SELECT * FROM $mysql_tabela WHERE login='$login'"); } else echo "Nie można połączyć się z bazą"; mysql_close($baza); } else echo "Nie można połączyć się z serwerem MySQL"; if (mysql_num_rows($wynik)<>0) { $blad++; echo "<span style=\"color:red;\">Login już został przez kogoś użyty!. Zaproponuj inny!</span><br />"; } } if (strlen($haslo)<6 or strlen($haslo)>50 or !eregi("^[a-zA-Z0-9]+$",$haslo)) { $blad++; echo "<span style=\"color:red;\">Hasło musi mieć od 6 do 50 znaków bez polskich liter i spacji!</span><br />"; } if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+.)+[a-z]{2,4}$",$email)) { $blad++; echo "<span style=\"color:red;\">E-mail nie został podany prawidłowo!</span><br />"; } if ($blad==0) { $kod = uniqid(rand()); $haslo = md5($haslo); // zaszyfrowanie hasla if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) { if (mysql_select_db($mysql_baza)) { $wynik = mysql_query("INSERT INTO $mysql_tabela VALUES('$login', '$haslo', '$kod', 1, NOW(), '$email', '$imie')"); } else echo "Nie można połączyć się z bazą"; mysql_close($baza); } else echo "Nie można połączyć się z serwerem MySQL"; if ($wynik) { $list=" Aby potwierdzic rejestracje kliknij w ciagu 48 godzin na adres: [url=http://adres.pl/rejestracja.php?opcja=potwierdz&kod=$kod]http://adres.pl/rejestracja.php?opcja=potw...p;kod=$kod[/url] Jezeli nie chcesz sie rejestrowac, zignoruj ten list. "; mail($email, "Rejestracja", $list, "From: <$twoj_adres>"); echo "<p>Aby dokończyć proces rejestracji odbierz e-mail</p>"; } } else $opcja=""; } if ($opcja=="") { // ************************************************** // ********** 2. formularz zakładania konta // ************************************************** echo <<<KONIEC <form action="rejestracja.php" method="post"> <input type="hidden" name="opcja" value="test" /> <table> <tr> <td>login:*</td> <td><input type="text" name="login" value="$login" /></td> </tr> <tr> <td>hasło:*</td> <td><input type="password" name="haslo" value="$haslo" /></td> </tr> <tr> <td>e-mail:*</td> <td><input type="text" name="email" value="$email" /></td> </tr> <tr> <td>imie i nazwisko:</td> <td><input type="text" name="imie" value="$imie" /></td> </tr> <tr> <td> </td> <td><input type="submit" value=" OK, rejestruję się!" /></td> </tr> </table> </form> KONIEC; } if ($opcja=="potwierdz") { // ************************************************** // ********** 3. potwierdzenie rejestracji, uaktywnienie uzytkownika // ************************************************** $kod = htmlspecialchars(stripslashes(trim($_GET["kod"])), ENT_QUOTES); if ($kod<>"") { if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) { if (mysql_select_db($mysql_baza)) { $wynik = mysql_query("DELETE FROM $mysql_tabela WHERE data<=DATE_SUB(NOW(),INTERVAL 2 DAY) and status=1"); $wynik = mysql_query("UPDATE $mysql_tabela SET status='5', data=NOW() WHERE kod='$kod' and status=1"); $wynik = mysql_query("SELECT * FROM $mysql_tabela WHERE kod='$kod' and status=5"); } else echo "Nie można połączyć się z bazą"; mysql_close($baza); } else echo "Nie można połączyć się z serwerem MySQL"; if (mysql_num_rows($wynik)==1) { $dane = mysql_fetch_array($wynik); echo "<p>Dziękujemy. Rejestracja została zakończona poprawnie.</p>"; } } if ($kod=="" or mysql_num_rows($wynik)<>1) { echo "<p>Rejestracja nie może zostać dokończona - sprawdź czy link jest poprawny!</p>"; } } if ($opcja=="przypomnij") { // ************************************************** // ********** 4. formularz przypominania danych // ************************************************** echo <<<KONIEC <p>Wpisz login użyty podczas rejestracji. Po chwili otrzymasz mailem nowe hasło.</p> <form action="rejestracja.php" method="post"> <input type="hidden" name="opcja" value="wyslijhaslo" /> <table> <tr> <td>login:</td> <td><input type="text" name="login" value="$login" /></td> </tr> <tr> <td> </td> <td><input type="submit" value=" przypomnij " /></td> </tr> </table> </form> KONIEC; } function haslo() { $min = 6; $max = 12; for($i=0;$i<rand($min,$max);$i++) { $znak=chr(rand(48,122)); if (eregi("[0-9a-zA-Z]",$znak)) $haslo .= $znak; else $i--; } return $haslo; } if ($opcja=="wyslijhaslo") { // ************************************************** // ********** 5. zmiana hasla i wyslanie go do uzytkownika // ************************************************** $login = htmlspecialchars(stripslashes(trim($_POST["login"])), ENT_QUOTES); $hasloczytelne = haslo(); $haslo = md5($hasloczytelne); if ($login<>"") { if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) { if (mysql_select_db($mysql_baza)) { $wynik = mysql_query("UPDATE $mysql_tabela SET haslo='$haslo' WHERE login='$login' and status=5"); $wynik = mysql_query("SELECT * FROM $mysql_tabela WHERE login='$login' and status=5"); } else echo "Nie można połączyć się z bazą"; mysql_close($baza); } if (mysql_num_rows($wynik)==1) { $dane = mysql_fetch_array($wynik); $email = $dane["email"]; $list="Oto przypominane haslo: $hasloczytelne"; mail($email, "Przypomnienie hasla", $list,"From: <$twoj_adres>"); echo "<p>Hasło zostało wysłane mailem...</p>"; } else { echo "<p>Użytkownik o podanym loginie nie istnieje!</p>"; } } } ?> I jest taki problem że dodaje do bazy użytkowanika ale nie wysyła kodu może ktoś ten skrypt przetestować i sprawdzić co jest nie tak ? Z góry wielkie dzienki ![]() Pzdr. Bulias Ten post edytował bulias 21.08.2006, 16:57:21 -------------------- Nie pomagam na priv!
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 2.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Napisz kod estetycznie to moze ci ktos pomoze.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 23:46 |