Gå til innhold

Hjelp med loginscript med flere brukerranker?


Anbefalte innlegg

Videoannonse
Annonse
Skrevet

Du bruker INSERT INTO for å legge inn ny bruker, ikke sant?

I passordkolonnen skal du legge inn:

sha1($secretsha1string . $_POST['passord']);

 

Enklere å forklare hvis du uploader ny_bruker_godkjenn.php også :)

Skrevet

Ok...Men hvordan blir det med session og slik nå da? Må jo ha et script som jeg legger i toppen av sider som skal "restriksteres" for gjester.

Skrevet

Ja.. Du må generelt ha et script som sjekker om en bruker er logget inn eller ikke, og også verifisere brukeren (bruker og pass ligger i cookie.. Bruk session_start() og $_SESSION). Dette må også sjekke om brukeren er vanlig bruker eller admin.

Skrevet (endret)

Hva med denne loginkoden: http://norskwebforum.no/pastebin/2471

 

Og bruke dette for å sjekke om er logget inn:

<?php
session_start();
if($_SESSION['username'] && $_SESSION['userlevel'] == 1){
  // Innhold som kun er synlig for administratoren
}
elseif($_SESSION['username'] && $_SESSION['userlevel'] == 2){
  // Innhold som kun er synlig for en vanlig bruker
}
else echo 'Du er ikke logget inn';
?>

Endret av BigJackW
Skrevet

Vel;

 

#1: userlevel er 0 for vanlige brukere

#2: hvis en bruker nå lukker browservinduet sitt vil personen bli logget av siden du ikke setter noen "permanent" cookie (Les på funksjonen setcookie() og variablen $_COOKIES)

#3: Hva hvis jeg nå åpner den midlertidige session cookien og endre brukernavn til 'admin' og userlevel til 1? Du må sjekke i MySQL databasen HVER gang en side skal hentes, hvorvidt brukernavn og passord i $_SESSION er godkjent, og du må også legge inn $_SESSION['userlevel'] på nytt for hver gang for å forhindre hacking.

#4: Hvorfor $_SESSION['username']? Hvorfor ikke lage en ny en som heter $_SESSION['registered']? username er jo ikke TRUE eller FALSE.. :)

Skrevet

:p

 

#1: Fikses ved å bytte ut 2 med 0 ^^

#2: Cookies er egentlig ganske greie, men hold deg til sessions foreløpig, og så legger du inn cookiemuligheter senere..

#3: Kjør MySQL queryen som du kjører for å logge inn en bruker hver gang du validerer han/henne ved å bruke $_SESSION['brukernavn'] og $_SESSION['passord'].

#4: Lag ganske enkelt en ny greie som heter $_SESSION['registered'] og sett den til TRUE når en person er logget inn.. :)

 

Virker som om det bare er oss i denne tråden :p

Skrevet

Vel, på toppen av ALLE sidene dine må du kjøre session_start() og så calle en funksjon du lager som sjekker om personen er logget inn eller ikke. Hvordan du velger å lage dette er opp til deg :)

Skrevet
Hvordan du velger å lage dette er opp til deg :)

6334688[/snapback]

 

Opp til meg? :p

Jeg kan nesten ikke noe, så dere må nok hjelpe meg i gang ja :)

Skrevet

På toppen av hver fil

<?php
session_start();
authenticate();

 

funksjonen authenticate() lager du selv ved hjelp av det du skrev over og en MySQL query for å sjekke at brukernavn og passord er riktig :)

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...