wacie Skrevet 22. mai 2004 Skrevet 22. mai 2004 Hei, lurte på om noen kunne hjelpe meg med å lage en login funksjon. Har prøvd litt selv, men jeg får det ikke helt til :\ Loginfunksjonen skal: Sjekke om brukernavnet($username) og passordet($password) ligger i databasen, og hvis det gjøre det så henter den levlen til brukeren, som er i samme tabell. Og så setter den to sessions med brukernavn, og levlen, så returnerer den "du er nå logget inn ". og hvis den ikke gjør det så skal den returnere "Feil brukernavn eller passord" Håper noen kan hjelpe meg med dette -wacie
wacie Skrevet 22. mai 2004 Forfatter Skrevet 22. mai 2004 ja, fant noe på denne siden lese litt der men hvis det er noen andre som kan bare lage funksjonen får meg så hadde det også vert fint *er litt lat* bruker en mySQL database til å hente passordet og brukernavnet fra.
Cucum(r) Skrevet 22. mai 2004 Skrevet 22. mai 2004 Tror ikke du skal gå ut ifra at noen gidder det. Dette er et _HJELPEFORUM_ for php, ikke et _MEKK ET SCRIPT TIL MEG_ forum. Prøv litt selv, også kan du komme hit hvis det er noe du ikke forstår. btw: har skrevet litt om sessions på siden min
wacie Skrevet 22. mai 2004 Forfatter Skrevet 22. mai 2004 Jeg har prøvd litt selv, men jeg får den ikke til å sette sessionene riktig : \ Her er det jeg har skrevet: login.php (der sessionene skal bli satt) $username = $_POST["$username"]; $password = $_POST["$password"]; if(!isset($_SESSION["user"])) { if(login($username, $password)); { $_SESSION["user"] = $username; $level = get_level($_SESSION["user"]); $_SESSION["level"] = $level; } } else { echo"Du er allerede logget inn<br>Bruker: ".$_SESSION["user"]."<br>Level: ".$_SESSION["level"]; } Og her er functions.php: function login($username, $password) { $query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'"; $result = mysql_query($query) or die(mysql_error()); $result = mysql_num_rows($result); return $result; } function get_level($username) { $sql="SELECT * FROM users WHERE username = '$username'"; $q=mysql_query($sql); if(mysql_num_rows($q)==0) { echo"Ingen rader funnet"; return false; } else { $data=mysql_fetch_object($q); return $data->level; } } Men jeg får bare opp "Ingen rader funnet" så det ser ikke ut som den klarer å finne hvilken bruker navn den skal hente fra ... Så, jeg har prøvd litt selv Håper noen kan hjelpe meg -wacie
LoS Skrevet 22. mai 2004 Skrevet 22. mai 2004 Har du lagt inn info i databasen da? Etter det jeg kan se etter en liten skumlesning så finner den ikke brukernavnet ditt i databasen.
wacie Skrevet 22. mai 2004 Forfatter Skrevet 22. mai 2004 Brukernavnet, passordet og alt det som den skal lese fra er i databasen.. -wacie
Pangaea Skrevet 22. mai 2004 Skrevet 22. mai 2004 Den if'en vil ikke fungere tror jeg. login() må være true for at if'en skal bli true sånn som det står nå. Om du setter inn "==1" i if'en vil det kanskje fungere. Har ikke sett så veldig nøye på koden...
wacie Skrevet 22. mai 2004 Forfatter Skrevet 22. mai 2004 tor ikke der er det som er problemet.. det er nok det at den ikke klarer å hente $username og lete etter den i databasen. -wacie
LoS Skrevet 23. mai 2004 Skrevet 23. mai 2004 Får vi se html koden til login siden? Der du skriver brukernavn og passord liksom
wacie Skrevet 23. mai 2004 Forfatter Skrevet 23. mai 2004 ja, dere kan få se "Login siden" Login.php (der man skriver passord og brukernavn) <form name="form1" method="post" action="config/login.php"> <table width="226" border="0" cellspacing="1"> <tr> <td width="73">Brukernavn:</td> <td width="146"><input name="username" type="text" id="username"></td> </tr> <tr> <td>Passord:</td> <td><input name="password" type="password" id="password"></td> </tr> <tr> <td> </td> <td><input type="submit" name="Submit" value="Logg inn"></td> </tr> </table> </form> -wacie
LoS Skrevet 23. mai 2004 Skrevet 23. mai 2004 Ok, alt ser riktig ut der, men tror det er en feil i login.php (der sessionene skal bli satt) $username = $_POST["username"]; $password = $_POST["password"]; if(!isset($_SESSION["user"])) { if(login($username, $password)); { $_SESSION["user"] = $username; $level = get_level($_SESSION["user"]); $_SESSION["level"] = $level; } } else { echo"Du er allerede logget inn<br>Bruker: ".$_SESSION["user"]."<br>Level: ".$_SESSION["level"]; } funker bedre nå?
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå