Witam
mama skrypt do rejestracji użytkowników i chciałbym aby jeszcze można było zapraszać znajomych wyszukiwać ich w bazie i żeby kazdy uzytkownik mógł dodawać zdjęcia a inni mogli je oglądać, a także zeby użytkowicy mogli dodawać posty wiem że o dużo prosze ale prosze was o pomoc jak możecie
oto skrypt
tabela w bazie danych:
CREATE TABLE logowanie (
login VARCHAR(50) NOT NULL PRIMARY KEY,
haslo VARCHAR(32) NOT NULL,
kod VARCHAR(32) NOT NULL,
status TINYINT UNSIGNED NOT NULL,
data DATETIME NOT NULL,
email VARCHAR(120) NOT NULL,
imie VARCHAR(200)
)
Rejestracja na stronie(rejestracja.php)
<?
$mysql_host = "localhost";
$mysql_login = "uzytkownik bazy";
$mysql_haslo = "haslo do bazy";
$mysql_baza = "nazwa bazy";
$mysql_tabela = "logowanie";
$twoj_adres = "[email protected]";
$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:
http://adres.pl/rejestracja.php?opcja=potwierdz&kod=$kod
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>";
}
}
}
?>
Logowanie do strony (index.php)
<? session_start(); $mysql_host = "localhost"; $mysql_login = "user"; $mysql_haslo = "password"; $mysql_baza = "baza1"; $mysql_tabela = "logowanie"; // ********** // ** wylogowanie i zalogowanie z ustaleniem sesji... // ********** $login = $_POST["login"]; $haslo = $_POST["haslo"]; if ($_GET["login"]=="koniec") { // wylogowanie session_unset(); session_destroy(); } else if ($login<"" and $haslo<"") { $haslo = md5($haslo); 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' and haslo='$haslo' and status=5"); if (mysql_num_rows($wynik)==1) { $dane=mysql_fetch_array($wynik); $_SESSION["zalogowany"]="tak"; $_SESSION["login"]=$dane["login"]; $_SESSION["imie"]=$dane["imie"]; $_SESSION["email"]=$dane["email"]; } } else echo "Nie można połączyć się z bazą"; mysql_close($baza); } } ?>
lewy bok strony <? // ********** // ** panel formularza do zalogowania i wylogowania // ********** if ($_SESSION["zalogowany"]=="tak") { echo "Witaj ".$_SESSION["login"]." "; echo "wyloguj się"; echo " zmień hasło"; } else { echo <<koniec <form="<form" action="index.php" method="post">
|
prawy bok strony... index.php - index2.php <? if ($_SESSION["zalogowany"]=="tak") { echo "TEN tekst widzi tylko zalogowany użytkownik! "; } ?> |
Zmiana danych (zmiana.php)
<? session_start(); $mysql_host = "localhost"; $mysql_login = "user"; $mysql_haslo = "password"; $mysql_baza = "baza1"; $mysql_tabela = "logowanie"; $opcja = trim($_REQUEST["opcja"]); if ($opcja=="zmien" and $_SESSION["zalogowany"]=="tak") { $haslo = htmlspecialchars(stripslashes(trim($_POST["haslo"])), ENT_QUOTES); $imie = htmlspecialchars(stripslashes(trim($_POST["imie"])), ENT_QUOTES); if (strlen($haslo)<6 or strlen($haslo)>50 or !eregi("^[a-zA-Z0-9]+$",$haslo)) { $blad++; echo "Hasło musi mieć od 6 do 50 znaków bez polskich liter i spacji!"; } 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("UPDATE $mysql_tabela SET haslo='$haslo', imie='$imie' WHERE login='{$_SESSION["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 ($wynik) { echo "Dane zostały zmienione"; $_SESSION["imie"]=$imie; } } else echo "Dane nie zostały zmienione!"; } if ($_SESSION["zalogowany"]=="tak") { 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='{$_SESSION["login"]}'"); if (mysql_num_rows($wynik)==1) { $dane=mysql_fetch_array($wynik); echo <<koniec <form="<form" action="zmiana.php" method="post"> <input type="hidden" name="opcja" value="zmien" />
hasło: | <input type="password" name="haslo" /> |
imie i nazwisko: | <input type="text" name="imie" value="{$dane[" imie"]}"="imie"]}"" /> |
<input type="submit" value="zmien" /> |