zaheslování více stránek

Vytvářel jsem podle různých návodů administraci k webu. Stránky jsou zaheslované pro jednoho uživatele a heslo je vloženo v kódu (index.php).

Mám databází více uživatelů, kterým bych chtěl zpřístupnit tuto administraci. Chtěl jsem poprosit o radu, jak skript upravit, aby kontroloval uživatele z databáze, např. tabulky uzivatele a ne ze skriptu (pouze jednoho uživatele).

Níže uvádím 3 hlavní skripty:

1. Přihlašovací formulář (login.php)
<?php
session_unset();
?>
<form action="index.php" method="post">
Uživatel: <input type="text" name="user"><br>
Heslo: <input type="password" name="heslo"><br>
<input type="submit" value="Příhlásit">
</form>


2. hlavní skript s kontrolou (index.php)
<?php
session_start();
$login = $_POST['user'];
$pass = $_POST['heslo'];

//přihlašovací údaje
$login1 = 'admin';
$pass1 = 'heslo';

if (($login == $login1) and ($pass == $pass1) or ($_SESSION['authuser'] == 1)) { $_SESSION['authuser'] = 1; } else {
echo "<meta http-equiv='Refresh' content='0 ; URL=login.php'>";
exit(); }
?>


3. skript (ten je ve všech ostatních stránkách)
<?php
if ($_SESSION['authuser'] != 1) {
echo "<meta http-equiv='Refresh' content='0 ; URL=../index.php'>";
echo "<p>Nemáte oprávnění k prohlížení této stránky</p>\n";
exit();
}
?>


Děkuji moc za pomoc
no třeba se udělá z proměnné pole proměnných, viz

http://cz.php.net/manual/en/function.array.php
http://cz.php.net/manual/en/ref.array.php

a údaje se uloží tam

nebo se

udělá opravdová tabulka v databázi odkud se data načtou
http://cz.php.net/manual/en/book.mysql.php

PS: místo:
echo "<meta http-equiv='Refresh' content='0 ; URL=../index.php'>";
by bylo možná lepší použít
http://cz.php.net/manual/en/function.header.php
Není to přímo odpověď na otázku, ale mně se osvědčila HTTP autentizace přes .htpasswd - jednoduché a účinné.
to jsem teď zkoušel. vytvořil jsem si v databázi tabulku s názvem USER a pokoušel se o porovnání dat s formuláře. Místo přihlašovacích údajů napsaných ve skriptu, jsem zkoušel se připojit k DB. Ovšem nevím, jak to upravit, aby to přesně fungovalo, protože teď to pustí každého (funkce while tam asi nemá být, nevím však, jak ji nahradit). Viz úprava skriptu níže:

2. hlavní skript s kontrolou (index.php)
<?php
session_start();
$login = $_POST['user'];
$pass = $_POST['heslo'];

//přihlašovací údaje
include '../konfigurace.php'; //připojení databáze

$overeni = MySQL_Query("SELECT * FROM user WHERE login = '$login1' AND heslo ='$pass1' ") or die($query_error);
while ($entry = MySQL_Fetch_Array($fc_kontakt)):

if (($login == $login1) and ($pass == $pass1) or ($_SESSION['authuser'] == 1)) { $_SESSION['authuser'] = 1; } else {
echo "<meta http-equiv='Refresh' content='0 ; URL=login.php'>";
exit(); }

endwhile;
?>
no napr toto:

<?php
session_start();
$login = $_POST['user'];
$pass = $_POST['heslo'];

//přihlašovací údaje
include '../konfigurace.php'; //připojení databáze

$overeni = MySQL_Query("SELECT * FROM user WHERE login = '$login1' AND heslo ='$pass1' ") or die($query_error);
if (MySQL_Num_Rows($overeni)>0){ $_SESSION['authuser'] = 1;
}else{
echo "<meta http-equiv='Refresh' content='0 ; URL=login.php'>";
exit();
}


?>