Gå til innhold

Login funksjon


Anbefalte innlegg

Skrevet

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

Videoannonse
Annonse
Skrevet

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 :p *er litt lat*

bruker en mySQL database til å hente passordet og brukernavnet fra.

Skrevet

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

Skrevet

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

Skrevet

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.

Skrevet

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

Skrevet

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

Skrevet

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

Skrevet

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å?

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