Jednoduché přihlášení pomocí php a mysql 1/2
Napsal hary28 dne 28.07.2010 23:48 v Tvorba www stránek, PHP, MySQL | 2 komentářů
Dnes nastal den si ukázat jednoduché přihlášení. Není to vůbec nic složitého. Bude nám k tomu stačit minimální znalost PHP. V prvním článku ze dvou si ukážeme jak udělat registraci. Tak co říkáte můžu začít? Jdem na věc!
Nejprve si v MySQL musíme vytvořit tabulku s názvem uzivatele. Tabulka bude obsahovat 4 sloupce (id, nick, heslo, email). Heslo bude hashovano aby nebylo možné ho rozluštit. K tomuto účelu slouží funkce md5. Tato funkce převede jakýkoliv text na řetězec o počtu 32 znaků, které zatím není možné rozluštit.
CREATE TABLE IF NOT EXISTS `uzivatele` (
`id` int(5) NOT NULL auto_increment,
`login` varchar(40) NOT NULL,
`heslo` varchar(32) NOT NULL,
`email` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Nyní máme Tabulku vytvořenou a můžeme se vrhnout na registraci. Vytvoříme si soubor registrace.php. V souboru najdeme formulář s poli a script ke zpracování a uložení dat do mysql. Níže můžete vidět script kterým zpracujeme formulář.
<?php
include "./connect.php";/* připojení k databázi */
if(isset($_POST['submit'])) {
$nick = mysql_real_escape_string($_POST['nick']);
$heslo = mysql_real_escape_string($_POST['heslo']);
$over_heslo = mysql_real_escape_string($_POST['over_heslo']);
$md5_heslo = md5($heslo);
$email = mysql_real_escape_string($_POST['email']);
/* — KONTROLA ZADANÝCH ÚDAJŮ — */
if($nick==""){echo"Nebyl vyplněn nick!";}
else if($heslo==""){echo"Nebylo vyplněno heslo";}
else if($over_heslo==""){echo"Nebylo vyplněno ověřovací heslo";}
else if($heslo!=$over_heslo){echo"Vyplněná hesla se neshodují";}
else if($email==""){echo"Nebyl vyplněn email";}
else{
$sql= mysql_query("INSERT INTO uzivatele VALUES ('','$nick','$md5_heslo','$email')") or die(mysql_error());
echo"Registrace byla úspěšně dokončena!";
}
}
?>
Tento článek je u konce. Tabulky v MySQL a registraci máme hotovou. V dalším článku si ukážeme přihlášení a odhlášení. Je to stejně jednoduché.
Teď si můžete stáhnou registraci. U registrace najdete i soubor connect.php, kterým se musíte přihlásit do vaší MySQL.
Komentáře (2)
ReGiSeR
15.08.2010, 22:47
Znamená to,
že z formulára nemôže zachytiť nejaký údaj. Skoro vždy sa chyba nachádza tu: $sql= mysql_query("INSERT INTO uzivatele VALUES ('','$nick','$md5_heslo','$email')") or die(mysql_error());. Pozri či máš všetko zadefinované a či máš správne hodnoty v inputoch v name.
Koudy
14.08.2010, 13:27
Mám všechno jak to máš tady, ale při odeslání mi hodí databáze chybu: Column count doesn't match value count at row 1... nevíš čim to je??