Autor Zpráva
RiZe
Profil
Udělal jsem si před sessions přihlašovací systém, ale má to jeden háček. Mám rozdělené oprávnění. Každý kámoš, který na tom maká se mnou má účet a z bezpečnostních důvodů je to rozdělené na user, power user a administrator. Ale. Přihlásím se já. Hned po mne se přihlásí kámoš. A já když dám aktualizovat, tak se načte přihlášení kámoše. Co mám udělat, aby měl každý uživ. vlastní relaci?
kaifman
Profil
To je divný, pro každej novej přístup by se měla vytvářet nová relace jejíž id je v cookie nebo v get
Hoď sem scripty. Kámoš se přihlašuje ze svého počítače? nebo oba na jednom?
RiZe
Profil
vono to bude v provedení toho scriptu. Tu máš:


<?
session_start();
Error_Reporting();

$protected="admin_interface.php";
$login_input = strip_tags($_POST['login_input']);
$heslo_input = strip_tags($_POST['heslo_input']);

if ($_GET['action']=='validate') { // pokud se stiskne SUBMIT
if ($login_input == "") { // pokud je kolonka login ve formuláři prázdná...
echo "<b>Musíte zadat všechny parametry</b>"; // zobrazí se chyba
}
else { // jinak
require "engine/config.php"; // se vloží nastavení
if (!$spojeni) { // pokud připojení k DB selže...
echo "<b>Nepodařilo se spojit s databází.</b>"; // vypíše se chyba...
}
else { // jinak...
$get_all = mysql_query("select * from admin where Login='$login_input'",$spojeni); // se vybere všechno z DB kde je login stejný jako login z form
$all = mysql_fetch_array($get_all); // umístí se to do pole
if ($login_input == $all['Login'] && md5($heslo_input) == $all['Password']) { // zkontrolují se vstupní údaje

$user_type = $all['status'];
$user_id = $all['user_id'];

// nastartuje relaci
session_start();
header("Cache-control: private");
$_SESSION['user_id'] = $user_id; // uživ. ID
$_SESSION["user_is_logged"] = 1; // uživ. je přihlášen
$_SESSION['user_type'] = $user_type; // typ uživ.
$_SESSION['user_name'] = $login_input; // jeho login
header("Location: ".$protected); // chráněný soubor
}
else { // pokud jsou špatně
echo "<b>Uživatelské jméno nebo heslo jsou chybné!</b>"; // vypíše se chyba
}
}
}
}


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="admin.css" />
<title>Administrační sekce - přihlášení</title>
</head>
<body>
<div id="container">
<h1>Administrační sekce - přihlášení</h1>
<form action="index.php?action=validate" method="post">
<table>
<tr><td><span style="font-size: 85%;">Uživatel</span></td><td><input type="text" name="login_input" /></td></tr>
<tr><td><span style="font-size: 85%;">Heslo</span></td><td><input type="password" name="heslo_input" /></td></tr>
<tr><td colspan="2"><input type="submit" name="submit" value="Přihlásit" />
<input type="reset" value="Smazat" /></td></tr>
</table>
</form>
</div>
</body>
</html>



Napiš mi kdyžtak, jak to mám udělat, aby měl každý svou relaci... THX
Leo
Profil
Tak znova:

Kámoš se přihlašuje ze svého počítače? nebo oba na jednom?

Leo
Toto téma je uzamčeno. Odpověď nelze zaslat.

0