Gå til innhold

Hvordan få "Members/Admin Login" på siden min?


Anbefalte innlegg

Skrevet

Hei.

 

Vil det bli vanskelig og sette opp et "Members area" eller lignende på hjemmesiden min med PHP? Jeg har mysql lagt inn på serveren.

 

Noen som kan kommentere dette? Hvordan får jeg det til?

Videoannonse
Annonse
Skrevet

jau jau. går fint å kjøre .htacces på det. du kan også lage en eller annen form for database-styrt innlogging også.....

 

det enkleste er vel kanskje hvis du kombinerer database-login med sessions...

Skrevet

la oss si du har en bruker som heter per. per er vanlig medlem på siden din.

du logger deg på med brukernavnet alex som er admin på siden.

 

du lager en database som inneholder brukernavn/passord.

 

når per logger seg på oprettes en session som heter 'bruker' og når han surfer rundt blir menyer og lignende vist på bakgunn av hvilken session som er mellom per og serveren.

 

dette kan for eksempel gjøres på følgende måte:

if (isset($_SESSION['NavnPåSession'])) {
   det som skal skrives ut for den spesiellt session kommer her
}

 

(denne koden sjekker navnet på den session som måtte være mellom deg og serveren)

 

du skal også kunne nekte brukere adgang til en side på bakgrunn av hvilken session som kjøres mellom brukeren og serveren. hvis folk ikke har 'riktig' session kan de tilogmed 'kastes ut' av siden.

 

du kan lese mer om sessions her.

Skrevet

hvis du søker på session + tutorials + php på google finner du sikkert noen eksempler for å komme igang.

 

Når du først har gjort litt tester, finner du også ut hvordan det fungerer og hva det kan gjøre og hvorfor det passer til akkurat dette!

  • 3 uker senere...
Skrevet

Du lager en bruker registrering, og setter inn dataen i en database (mySQL)

Der lager du f.eks. feltene user(brukernavn) og pass(passord)

 

Så lager du en logginn side som sjekker user og pass mot databasen. Er de korrekte oppretter du en session som inneholder user og pass.

 

$_SESSION['user'] = $user;

$_SESSION['pass'] = $pass;

 

dersom brukernavnet og passordet er feil (stemmer ikke med databasen) sender du de tilbake til loginn siden med en liten feilmelding om at brukernavnet eller passordet ikke var korrekt.

 

Så lager du en fil som du skal include på alle sidene som bare medlemmer skal se. Den filen sjekker om user og pass stemmer med verdiene i databasen stemmer - gjør de det så setter du en variabel til true... f.eks.:

 

$user = $_SESSION['user'];

$pass = $_SESSION['pass'];

$query = mysql_query("SELECT * FROM tabellen WHERE user=$user" AND pass ='$pass');

 

if(mysql_num_rows($query) > 0){

$UserPass = True;

}else{

$UserPass = False;

}

 

Gi denne filen navnet f.eks. userpass.php

 

 

For å sette dette ut i funksjon på medlemssidene includer du userpass.php og sjekker om $UserPass = True.

 

F.eks.:

include "userpass.php";

if($UserPass == True){ // eventuelt bare if($UserPass){

 

echo "her skriver du innholdet på medlemssidene";

 

}else{

echo "Du er ikke logget inn, vennligst logg inn!";

}

 

Kommentarer:

- Det er mange som mener det er unødvendig å sjekke passordet og brukernavnet på nytt - men dersom du noen gang skal flytte sidene ut på et webhotell sammen med andre side sider er det lett for de, og andre hackere, å lage session dersom du bare har en verdi som $ok = 1.

- Aldri lagre passord som ikke er krypterte!

- Det er mange måter å forenkle scriptet over på, f.eks. isteden for å sette $UserPass til False kan du sende brukerene tilbake til logginn siden - eller en egen feilmeldingsside - så slipper du if($UserPass) - men scriptet er enklere å forstå nå dersom du er ny med PHP.

 

Good luck!

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å
×
×
  • Opprett ny...