06. oktober 2003 - 22:06Der er
17 kommentarer og 1 løsning
Login side
Hej Jeg er lidt rusten i php, men jeg sidder og skal lave en login side til mit site med php oh mysql jeg kan huske noget med at bruge en if sætning og : select * from brugere where username="$brugernavn" and password="$kodeord" men koden rent generelt er rimelig fjern.. håber på hjælp..
$resultat = mysql_query("SELECT id FROM `medlemmer` WHERE Brugernavn = '$postbruger' AND Password = '$password'");//Spørger efter ID
$number = mysql_num_rows($resultat);//Tæller antaller af resultater if($number == 1) { //Hvis der kun er et resultat, bliver brugeren logget in $row = mysql_fetch_assoc($resultat); $_SESSION['bruger_ok'] = "1"; }
På de sider der skal password beskyttes, kan du så tjekke om $_SESSION['bruger_ok'] == "1";
Lavde lige et lille simpelt eksempel. Kræver en tabel (medlemmer) der indeholder id, Brugernavn og Password felter, husk store og små bogstaver ;-).
<? session_start(); mysql_connect("localhost", "brugernavn", "password") or die("Could not connect"); mysql_select_db("databasenavn") or die("Could not select database");
//Brugernavn og password skal brugeren selvfølgelig indtaste så de kommer i disse variabler ;) $brugernavn = "brugernavn_indtastet_af_bruger"; $password = "pass_indtastet_af_bruger";
$resultat = mysql_query("SELECT id FROM `medlemmer` WHERE Brugernavn = '$brugernavn' AND Password = '$password'");//Spørger efter ID
$number = mysql_num_rows($resultat);//Tæller antaller af resultater if($number == 1) { //Hvis der kun er et resultat, bliver brugeren logget in $_SESSION['bruger_ok'] = "1"; echo "ok, bruger logget ind"; } else echo "Fejl i login";
?>
Hvis bruger/pass er korrekt, bliver der sat en session variabel, så du nemt på andre sider kan teste om en bruger er godkendt.
Du kan med sessions tjecke om en bruger er logget ind, husk at sessions skal være startet med session_start(): if($_SESSION['bruger_ok'] != "1" ) { echo "ingen adgang!!!"; } else { Her starter din hemmelige side... }
Har lige udvidet eksemplet til at status medtages fra databasen, husk at tilføje status til databasen.
<? session_start(); mysql_connect("localhost", "brugernavn", "password") or die("Could not connect"); mysql_select_db("databasenavn") or die("Could not select database");
//Brugernavn og password skal brugeren selvfølgelig indtaste så de kommer i disse variabler ;) $brugernavn = "brugernavn_indtastet_af_bruger"; $password = "pass_indtastet_af_bruger";
$resultat = mysql_query("SELECT id, status FROM `medlemmer` WHERE Brugernavn = '$brugernavn' AND Password = '$password'");
$number = mysql_num_rows($resultat);//Tæller antaller af resultater if($number == 1) { //Hvis der kun er et resultat, bliver brugeren logget in $_SESSION['bruger_ok'] = "1"; $row = mysql_fetch_assoc($resultat); echo "ok, bruger logget ind, med status: $row[status]"; } else echo "Fejl i login";
jonas82 -> Hvad sker der hvis du ER logget ind, og tilfældigvis lige bliver deaktiveret? Så stopper besøget da ikke der? Og hva nu når jeg logger ind i flere forskellige vinduer? og hvordan ved du hvem jeg er på dine undersider?
Forstår ikke lige hvad du mener med deaktiveret. Nu er spørgers oplysninger rimeligt sparsomme, med hensyn til hvad det skal bruges til - jeg har bare forsøgt at bygge lidt videre på det han selv har startet i spørgsmålet.
hmm.. jeg har lavet mit eget www.hashere.1go.dk/login.php og Bruger: Admin Kodeord: 1217 men siden melder blank hvorimod den skulle skrive hej og velkommen.. smider lige kode eksempel
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.