Gå til innhold

Admin i login script


Anbefalte innlegg

Hvordan kan jeg gjøre det best mulig for å få mulighet til å vise admin og medlem samtidig? Vet ikke helt hvordan jeg skal gjøre det med admin. Kan jeg bruke elseif flere ganger?

 

<?php
if(!empty($_SESSION['LoggedIn']) && !empty($_SESSION['Username']))
{
 ?>
Medlem
}
   <?PHP
if(!empty($_SESSION['LoggedIn']) && !empty($_SESSION['Admin']))
{
 ?>

Admin
   <?php
}
elseif(!empty($_POST['username']) && !empty($_POST['password']))
{
 $username = mysql_real_escape_string($_POST['username']);
   $password = md5(mysql_real_escape_string($_POST['password']));

 $checklogin = mysql_query("SELECT * FROM users WHERE Username = '".$username."' AND Password = '".$password."'");

   if(mysql_num_rows($checklogin) == 1)
   {
  $row = mysql_fetch_array($checklogin);
    $email = $row['EmailAddress'];

    $_SESSION['Username'] = $username;
    $_SESSION['EmailAddress'] = $email;
    $_SESSION['LoggedIn'] = 1;

  echo "<h1>Suksess</h1>";
    echo "<meta http-equiv='refresh' content='=2;index.php' />";
   }
   else
   {
  echo "<h1>Feil</h1>";
   }
}
else
{
}?>

Lenke til kommentar
Videoannonse
Annonse

Du trenger ikke bruke elseif. Du kan gjøre noe ala dette:

 

// Logget inn
if($_SESSION['LoggedInn']) {

 if($_SESSION['Admin']) {
// Admin
 }

 if($_SESSION['Username']) {
// Medlem
 }

}

// Ikke logget inn
else {
 // Logg inn
}

 

Når du logger inn som admin setter du både Username og Admin session, hvis en vanlig bruker logger inn setter du kun Username session'n.

 

Anbefaler ikke bruke $_SESSION['Admin'] som en betingelse for at du er admin. Bruk heller et felt i brukerdatabasen din, f.eks 0 = vanlig bruker, 1 = admin. Også da sjekke brukeren som er logget inn sin info, om feltet er 1 = hvis innhold for admin.

Lenke til kommentar

Du setter en session logged_in og der kan du bruke array til det eller objekt som en hel session. Altså du lagerer enten et objekt eller array i en session med brukernavn + isloggedin + rank (om det er bruker eller admin). Slipper du alle dine if / else if/ else

Lenke til kommentar

Har sett litt på privilegier.. Jeg må sørge for at hver gang noen registrerer seg så lagres de automatisk med privilegier "1"?

Noe sånt?

 

if ($privileges=='1'){
    echo "admin";
}else if ($privileges =='2'){
echo "medlem";
}else{
echo "logg inn";
}

Lenke til kommentar

sånn?

if ($privileges=='1'){
	    echo "bruker";
}else if ($privileges =='2'){
echo "admin";
}else{
echo "logg inn";
}

 

Hvordan gjør jeg det når de skal bli registrert som $privileges '1' når de registrerer seg?

Lenke til kommentar

sånn?

if ($privileges=='1'){
		echo "bruker";
}else if ($privileges =='2'){
echo "admin";
}else{
echo "logg inn";
}

 

Hvordan gjør jeg det når de skal bli registrert som $privileges '1' når de registrerer seg?

 

Skjønner ikke helt hva den siste else'en gjør der? Den har vel ikke noe funksjon?

 

Å bruke samme variabel for å sjekke om noen er innlogget & privilegene deres virker på meg som ulogisk.

 

Hvorfor ikke ha

a) $_SESSION['userid'] og $_SESSION['userrank']

b) $_SESSION['userid'] og ha en funksjon for å hente privilegier fra database ved å bruke userid?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...