Za to, co zobaczysz poniżej, należy się Duże piwo, przez duże "D".
Naszą przygodę z logowaniem zaczynamy od utworzenia odpowiedniej tabeli mysql, wygląda ona tak:
1. Tworzymy tabelę
`users`, w której będziemy przechowywali wszystkich użytkowników naszej strony.
CREATE TABLE `users` (
`uid` INT( 11 ) NOT NULL AUTO_INCREMENT ,
`name` VARCHAR( 24 ) NOT NULL ,
`password` VARCHAR( 24 ) NOT NULL ,
) ENGINE = MYISAM ;
No i objaśnienie:
- uid - będziemy tu przechowywali unikalne ID każdego użytkownika
- name - nazwa użytkownika
- password - hasło użytkownika
2. Tworzymy plik
index.php, a w nim dajemy:
<?php
ob_start();
session_start();
require_once("functions.php");
connection();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" /> <link rel="stylesheet" type="text/css" href="styles.css" />
<?php
$site = $_GET['site'];
if ($site=="") {
include ("glowna.php");
}
else {
if (is_file("$site.php")) {
include ("$site.php");
}
}
?>
3. Od razu w oczy rzuca się nam linijka z require_once. Tam będziemy trzymali funkcje do łączenia się z naszą bazą danych mysql, która zaraz pod tym wywołujemy (connection()

. No dobra, więc stwórzmy ten plik -
functions.php<?php
function connection() {
$db[] = 'localhost';
$db[] = 'root';
$db[] = '';
$db[] = 'users';
mysql_connect($db[0
], $db[1
], $db[2
]) or
DIE ("Błąd połączenia z bazą danych, czyli złe dane."); mysql_select_db($db[3
]) or
DIE ("Błąd bazy danych MySQL, czyli prawdopodnie zła nazwa bazy.");
}
?>
Raczej to powinieneś wiedzieć, więc odpuszczę sobie tłumaczenia.
4. Teraz musimy utworzyć plik odpowiedzialny za rejestrację nowego użytkownika, czyli
rejestracja.php<a href="index.php">Strona główna</a><br /><br />
<?php
if (isset($_POST['submit'])) {
$login = $_POST['login'];
$password = $_POST['password'];
$password2 = $_POST['password2'];
echo 'Musisz wypełnić wszystkie pola!'; return false;
}
if ($password == $password2) {
$usersp = mysql_query("SELECT * FROM `users` WHERE `name` = '$login'");
echo 'Taki użytkownik już istnieje!<br /><a href="index.php?site=rejestracja">Powrót</a>'; return false;
}
else {
echo 'Zostałeś poprawnie zarejestrowany!<br /> <a href="index.php?site=logowanie">Zaloguj się</a>';
mysql_query("INSERT INTO `users` (uid, name, password) VALUES (null, '$login', '$password')"); return false;
}
}
else {
echo 'Hasła muszą być takie same!'; return false;
}
}
else {
echo '<h3>Tworzenie nowego konta:</h3> <form action="index.php?site=rejestracja" method="POST">
Login: <input type="text" name="login"><br />
Hasło: <input type="password" name="password"><br />
Powtórz hasło: <input type="password" name="password2"><br /><br />
<input type="submit" name="submit" value="Zaloguj się">
</form>';
}
?>
4. Dobra, możemy się rejestrować, teraz zrobimy logowanie -
logowanie.php.
<a href="index.php">Strona główna</a><br /><br />
<?php
if (isset($_POST['submit'])) {
$login = $_POST['login'];
$password = $_POST['password'];
$query = mysql_query("SELECT * FROM `users` WHERE `name` = '$login' AND `password` = '$password'");
echo 'Zostałeś poprawnie zalogowany, jako <strong>'.$login.'</strong>. Witaj!<br /> <a href="index.php">Przejdź na stronę główną.</a>';
$_SESSION['zalogowany'] = true;
$_SESSION['login'] = $login;
}
else {
echo 'Podane dane są błędne!'; return false;
}
return false;
}
if ($_SESSION['zalogowany']) {
echo ('Witaj <strong>'.$_SESSION['login'].'<br />'); }
else {
echo '<h3>Logowanie do serwisu:</h3> <form action="index.php?site=logowanie" method="POST">
Login: <input type="text" name="login"><br />
Hasło: <input type="password" name="password"><br /><br />
<input type="submit" name="submit" value="Zaloguj się">
</form>';
}
?>
5. I woala, nasza strona jest już prawie gotowa! Teraz dajmy możliwość wylogowania się, tworzymy
wylogowanie.php.
<?php
header("Location: index.php");
?>
6. Pięknie! Pozostaje nam tylko stworzyć stronę główną naszej strony, czyli
glowna.php.
<?php
if ($_SESSION['zalogowany']==true) {
echo 'Witaj <strong>'.$_SESSION['login'].'</strong> na swojej stronie!<br /><br /> <a href="#">Jakaś strona</a> |
<a href="index.php?site=wylogowanie">Wyloguj się</a>';
}
else {
echo 'Witaj gościu na swojej stronie!<br /><br /> <a href="index.php?site=logowanie">Zaloguj się</a> |
<a href="#">Jakaś strona</a> |
<a href="index.php?site=rejestracja">Rejestracja</a>';
}
?>
I tak oto nasza strona jest bogatsza o system rejestracji i logowania użytkowników, a także podatność na ataki xss, sql_injection! Ale o tym to już sobie sam doczytaj, bo specjalnie nie zabezpieczałem, żebyś się nauczył. Leniu

Skrypt napisany przeze mnie, można go używać i zmieniać wedle uznania.
Pozdrawiam.