Jednoduché přihlášení pomocí php a mysql 2/2
Napsal hary28 dne 29.07.2010 08:57 v Tvorba www stránek, PHP, MySQL | 6 komentářů
V předchozím článku jsme si vytvořily tabulku v MySQL a registraci. Nyní nám zbývá si vytvořit formulář pro zadání nicku a hesla poté pošleme zadaná data do scriptu který ověří zda se nick s heslem shodují s daty v MySQL. Po přihlášení se ještě podíváme jak se jednoduše i z tajné stránky odhlásit. Nyní začneme formulářem.
Formulář najdete v souboru index.php
Nyní nastavíme v tagu
<?php
include "./connect.php";/* připojení k databázi */
$login = mysql_real_escape_string($_POST["nick"]);/* nick zadaný ve formuláři pro přihlašování */
$heslo = mysql_real_escape_string($_POST["heslo"]);/* heslo zadané ve formuláři pro přihlašování */
$md5heslo = md5($heslo);/* Pomocí funkce md5() heslo zahashujeme */
/* — DOTAZ K MYSQL PRO OVĚŘENÍ PŘIHLAŠOVACÍCH DAT — */
$dotaz = mysql_query("select * from uzivatele where login = '$login' and heslo = '$md5heslo'");
$overeni = mysql_num_rows($dotaz);
$row = mysql_fetch_array($dotaz);
if($overeni == 1) {
session_start();
$_SESSION['login'] = stripslashes($login);
$_SESSION['id'] = $row["id"];
header("Location: admin.php");
die();
} else {
echo"Zadal jsi špatný login nebo heslo!";
}
?>
Nyní jsme se přihlásily a ve scriptu se nám do superglobálních proměnných zapsaly tyto údaje: id, login a přesměrovalo nás to na stránku admin.php. Pokud uživatel zadal špatný nick nebo heslo tak se mu vypsal text
<?php
echo"Zadal jsi špátný login nebo heslo!";
?>
Script pro přihlašování jsme si popsali a nyní nás asi bude zajímat jak se také odhlásit. V souboru admin.php najdeme odkaz ODHLÁSIT. Po kliknutí na odkaz přejdeme do souboru logout.php ve kterém se naléza jednoduchý script.
<?php
session_start();/* Zapneme session */
session_destroy();/* Smažeme všechna session */
header("location: index.php"); /* Přesmeruje na přihlašovací stránku */
?>
A to je zřejmě vše co je potřeba pro přihlašování. Nyní si můžete stáhnout registraci, přihlášení a odhlášení.
Komentáře (6)
hary28
30.07.2010, 23:07
Ano Turbo, máš pravdu. Na ochranu, která je nejdůležitější jsem zapoměl. Hnedka upravím.
Majkl
04.09.2010, 17:32
Moc hezký článek, jednoduchý, přehledný a chápaví. Mě, když jsem se učil programovat, vždy strašně rozčilovalo, jak všichni psali návody zdlouhavé, bez vysvětlení a často matoucí. Rozhodně doporučuji a dávám palec nahoru = sdílet na FB, protože to za to stojí ;)
Turbo
30.07.2010, 21:54
Script hezky jednoduchy, ale pokud to ma byt jako ukazka tak by chtelo treba upozornit ba mysql injection.