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>";
}
}
}
?>
$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