Mam 3 soubory:
1) zk.php ..... formular pro odesilani hesla a loginu
2) loginxxx.php .... skript ktery kontroluje zda login a heslo je spravne s udaji v DB + prirazuje session
3) administrace.php (stranka na kterou ma byt odepren pristup neprihlasenym uzivatelům).
1) Mam Databazi (pro zjednoduseni uvadim celou strukturu tab)
Kód: Vybrat vše
CREATE TABLE `user` (
`login` varchar(20) NOT NULL default '',
`password` varchar(20) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Vypisuji data pro tabulku `user`
--
INSERT INTO `user` VALUES ('zk', 'zkk');
Dale mam jednoduchý formular (zk.php) ve kterem zadavam login a password pro pristup na zabezpecenou stranku administrace.php Formular se odesila na skript loginxxx.php kde se kontroluje zda je vse OK a pokud ano melo by se vse presmerovat an administrace.php
formular ... zk.php
Kód: Vybrat vše
<form action="loginxxx.php" method="post">
login: <input type="text" name="login_name"><br>
passw" <input type="password" name="login_password"><br>
<input type="submit" value="odeslat">
</form>skript loginxxx.php
Kód: Vybrat vše
<?
session_start();
$login_name = $_REQUEST['login_name'];
$login_password = $_REQUEST['login_password'];
if ($login_name!="" && $login_password!=""):
include "header.php"; //zde vse funguje
if (!$spojeni):
Header("Location: ./zk.php?chyba=".URLEncode("Nepodarilo se spojit s databází"));
endif;
$result = MySQL_Query("SELECT * FROM user WHERE login='$login_name'");
if (MySQL_Num_Rows($result)!=0):
$uzivatel = MySQL_Fetch_Array($result);
if ($uzivatel["password"]!=$login_password):
echo $uzivatel["password"];
else:
// heslo je správné
//nastavení session promenných
$_SESSION["username"] = $login_name;
//presmerování na administraci ktera je pristupna pouze pro spravne prihlasene
Header("Location: ./administrace.php");
endif;
else:
// zadaný uživatel není v databázi
Header("Location: ./zk.php?chyba=".URLEncode("Zadaný uživatel neexistuje"));
endif;
else:
//nezadány oba prihlašovací údaje
Header("Location: ./zk.php?chyba=".URLEncode("Musíte zadat všechny parametry"));
endif;
?>Kód: Vybrat vše
<?
session_start(); //ZAPNUTÍ SESSIONS
if (!$_SESSION["username"]) {
Header ("Location:zk.php");
exit;
}
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
Tady uz text zabezpeceneho mista

