Ich versuche, eine Sitzungen und einen Eintrag auf Seiten basierend auf einer "Rolle" einer Person in der Datenbank zu erstellen. Ich dachte, ich hätte die Logik genagelt und den Code erstellt. Es funktionierte. Problem ist, es funktioniert für alle. Ich wollte etwas Hilfe, um darauf hinzuweisen, warum mein Code logisch falsch ist, wenn es für mich an der Sache ist. Jede Hilfe wird sehr geschätzt. Hier ist mein Code. Es scheint in jemanden zu lassen, die Rolle ist nicht ‚Admin‘ und ich kann Punkt Pin warum:Erstellen bestimmter Sitzungen für bestimmte Benutzer
function auth($email, $pass){
global $result;
while ($row = mysql_fetch_array($result)) {
if($email == $row["email"] && $pass == $row["password"])
{
return true;
}
}
return false;
}
function test($email, $pass){
$test1 = auth($email, $pass); <--above
if ($test1) {
get_role($email); <-- below (This is the one where I'm puzzled)
$_SESSION['email'] = true;
header('location:menupage.php');
exit;
}
else{
echo "Please enter correct username and password or <a href='register.php'>Register</a>";}
}
function get_role($email){
global $connection;
$sql="SELECT * FROM exam WHERE email= '$email'";
$result = mysql_query($sql, $connection);
confirm_query($result);
while ($row = mysql_fetch_array($result)) {
if ($row["role"] == 'Admin'){
$_SESSION['role'] = true;
}
else
$_SESSION['role'] = false;
}
}
und dies der Header für die administrative Seite ist, der die Sitzung
<?php
session_start();
if(!isset($_SESSION['role']))
{ $_SESSION['msg'] = 'you are not logggedd in';
header('location: menupage.php');
exit;
}
?>
Dank Blake. Also sagst du, dass die Sitzung immer noch gesetzt wird - sie setzt einfach auf falsch? Aha. Ich eliminierte die falsche Aussage alle zusammen und es funktionierte wie ein Zauber. Danke für die Logik! Ich schätze es. – Addy75
Ausgezeichnet. Vergessen Sie nicht, die Antwort als beantwortet zu markieren, wenn eine Antwort gegeben wurde. Prost. – Blake