<?php
// utworzenie krótkich nazw zmiennych
$email=$_POST['email'];
$nazwa_uz=$_POST['nazwa_uz'];
$haslo=$_POST['haslo'];
$haslo2=$_POST['haslo2'];
// rozpoczęcie sesji, która może okazać się konieczna póĽniej
// rozpoczęcie w tym miejscu, musi ona zostać przekazana przed nagłówkami
// dołączenie plików funkcji tej aplikacji
require_once('funkcje_zakladki.php');
try
{
// sprawdzenia wypełnienia formularzy
if (!wypelniony($_POST))
{
throw new Exception('Formularz wypełniony nieprawidłowo — proszę wrócić i spróbować ponownie.');
}
// nieprawidłowy adres poczty elektronicznej
if (!prawidlowy_email($email))
{
throw new Exception('Nieprawidłowy adres poczty elektronicznej — proszę wrócić i spróbować ponownie.');
}
// różne hasła
if ($haslo != $haslo2)
{
throw new Exception('Niepasujące do siebie hasła — proszę wrócić i spróbować ponownie.');
}
// sprawdzenie długo¶ci hasła
{
throw new Exception('Nazwa uzytkownika nie może mieć więcej niż 16 znaków — proszę wrócić i spróbować ponownie.');
}
// sprawdzenie długo¶ci nazwy użytkownika
{
throw new Exception('Hasło musi mieć co najmniej 6 znaków — proszę wrócić i spróbować ponownie.');
}
// próba zarejestrowania
rejestruj($nazwa_uz, $email, $haslo);
// rejestracja zmiennej sesji
$_SESSION['prawid_uzyt'] = $nazwa_uz;
// stworzenie łącza do strony członkowskiej
tworz_naglowek_html('Rejestracja pomy¶lna');
echo 'Rejestracja zakończyła się sukcesem. Proszę udać się na stronę ' .'członkowską aby skonfigurować swoje zakładki!';
tworz_HTML_URL('czlonek.php', 'Strona członkowska');
// koniec strony
tworz_stopke_html();
}
catch (Exception $e)
{
tworz_naglowek_html('Problem:');
tworz_stopke_html();
}
?>
i do tego funkcja
<?php
require_once('funkcje_bazy.php');
function rejestruj($nazwa_uz, $email, $haslo)
// zarejestrowanie nowej osoby w bazie danych
// zwraca true lub komunikat o błędzie
{
// połączenie z bazą danych
$lacz = lacz_bd();
// sprawdzenie, czy nazwa użytkownika nie powtarza się
$wynik = $lacz->query("select * from uzytkownik where nazwa_uz='$nazwa_uz'");
if (!$wynik)
throw new Exception('Wykonanie zapytania nie powiodło się.');
if ($lacz->num_rows>0)
throw new Exception('Nazwa użytkownika zajęta — proszę wrócić i wybrać inną.');
// jeżeli wszystko w porządku, umieszczenie w bazie danych
$wynik = $lacz->query("insert into uzytkownik values
('$nazwa_uz', sha1('$haslo'), '$email')");
if (!$wynik)
throw new Exception('Rejestracja w bazie danych niemożliwa — proszę spróbować póĽniej.');
return true;
}
?>