Permalänk

Admingränssnit

Tjena!
Skulle behöva hjälp med admin login, har gjort att när en ny användare registreras så finns det en kryss ruta där man kan ange om det ska vara ett adminkonto eller inte det anges då med en 1 om det är adminkonto eller en 0 om det inte är det.

men sen när man loggar in så vill jag att den ska skicka admin till Admin.php om den har id 1 på adminid och till vanligt index om den är 0, men får det inte att funka har försökt fixa det med header men den verkar inte vilja hämta adminid från databasen.

Sitter just nu på jobbet så kan inte skicka för jag glömde usb hemma och ftp är för tillfället nere...

Visa signatur

Jag har en dator, med lite skit i... ;)

www.kjohansson.se

Permalänk
Medlem
Skrivet av kjohansson:

Tjena!
Skulle behöva hjälp med admin login, har gjort att när en ny användare registreras så finns det en kryss ruta där man kan ange om det ska vara ett adminkonto eller inte det anges då med en 1 om det är adminkonto eller en 0 om det inte är det.

men sen när man loggar in så vill jag att den ska skicka admin till Admin.php om den har id 1 på adminid och till vanligt index om den är 0, men får det inte att funka har försökt fixa det med header men den verkar inte vilja hämta adminid från databasen.

Sitter just nu på jobbet så kan inte skicka för jag glömde usb hemma och ftp är för tillfället nere...

Posta lite kod när du kan.

Du bör redan ha informationen i din session. Det är inte lämpligt att hämta detta värde från databasen varje gång du behöver det.
Så när man loggar in så hämtar du användaren som matchar inloggningen och sparar viktiga delar i sessionen på en gång:
användarid, användarnamn, adminstatus, mfl.
Då kan du hämta informationen från sessionen utan att behöva gå en onödig väg genom databasen varje gång du vill använda någon del av denna information.

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk

$sql = "SELECT id FROM members_area WHERE user='{$_POST['user']}' AND pass='{$_POST['passwd']}'"; $result = mysql_query($sql); // Sätt sessionen med unikt index $_SESSION['sess_id'] = mysql_result($result, 0, 'id'); $_SESSION['sess_user'] = $_POST['user']; header("Location: welcome.php");

där hämtar den från databasen och sätter session, antar att jag kan slänga in admin id här med eller ?

Visa signatur

Jag har en dator, med lite skit i... ;)

www.kjohansson.se

Permalänk
Skrivet av kjohansson:

$sql = "SELECT id FROM members_area WHERE user='{$_POST['user']}' AND pass='{$_POST['passwd']}'"; $result = mysql_query($sql); // Sätt sessionen med unikt index $_SESSION['sess_id'] = mysql_result($result, 0, 'id'); $_SESSION['sess_user'] = $_POST['user']; header("Location: welcome.php");

där hämtar den från databasen och sätter session, antar att jag kan slänga in admin id här med eller ?

Ja:

$sql = "SELECT id,adminid FROM members_area WHERE user='{$_POST['user']}' AND pass='{$_POST['passwd']}'"; $result = mysql_query($sql); if($result && mysql_result($result,0,'id') > 0){ // Sätt sessionen med unikt index $_SESSION['sess_id'] = mysql_result($result, 0, 'id'); $_SESSION['sess_admin'] = mysql_result($result, 0, 'adminid'); $_SESSION['sess_user'] = $_POST['user']; header("Location: welcome.php"); }else{ // Login failed // ... }

Men glöm inte att att skydda dig mot sql injections! Nu hämtar du $_POST och stoppar in det direkt i queryn, helt upplagt för vem som helst att göra vad de vill med din databas.