Gå til innhold

Hente opplysninger om innlogget bruker


Anbefalte innlegg

Har laget et login-script som sjekker brukernavn og passord mot en database. Denne delen fungerer som den skal.

 

Men når jeg ønsker å hente ut opplysninger om den brukeren som er innlogget (fra samme tabell), oppstår det problemer.

 

Her er koden fra siden som validerer (login.php). Den fullstendige adressen er byttet ut med "URL" for å ikke vise serveradressen... :

 


<?php

if (isset($logginn) && ($_SERVER['HTTP_REFERER']=='URL/index.php' || $_SERVER['HTTP_REFERER']=='URL'))

{

$sql = "SELECT * FROM brukere";  

$resultat = mysql_query($sql);

while ($row = mysql_fetch_array($resultat)) {



if ($brukernavn == $row["epost"] && strcmp(md5($passord),$row["passord"])==12)

 {

 $login=1;

$sql2="SELECT * FROM brukereWHEREepost=$brukernavn";

$resultat2 = mysql_query($sql2);

$fornavn = $resultat2['fornavn'];

   

break;

}

else

{

$login=0;

 }

}

if ($login==0){

include("outside.php");  

}

else

{

session_register('brukernavn');

session_register('fornavn');

include("inside.php");

 }

}

?>

 

Filen "inside.php" har en echo som da er ment å skrive ut fornavnet på den som har logget seg inn, men her blir det altså ingen utskrift. Den klarer å skrive ut $brukernavn, som kommer fra et tekstfelt på index-siden.

 

Tabellen inneholder følgende felt:

- brukerid

- fornavn

- etternavn

- epost

- passord (disse er kryptert)

 

Noen tips?

 

_________________

-sanoJ-

 

"Jeg har en løsning. Den passer bare ikke til dette problemet."

 

 

[ endret av kilogram den 2002-11-29 16:16 ]

Lenke til kommentar
Videoannonse
Annonse

Her er forøvrig php-koden fra 'inside.php':

 

<?php

session_start();

session_register('brukernavn');

session_register('fornavn');

?>

 

//Her er det HTML-kode...

 

<?php

echo "<font color='#999999' size='2'>Logget inn som: ", $brukernavn, "</font>";

echo "<br>";

echo $resultat2['fornavn'];

?>

 

//Her er mere HTML-kode...

 

Utskriften av $brukernavn fungerer forøvrig så det suser...

 

_________________

-sanoJ-

 

"Jeg har en løsning. Den passer bare ikke til dette problemet."

 

[ Denne Melding var redigert av: Xqtor på 2002-11-29 15:01 ]

Lenke til kommentar

Quote:


Xqtor skrev (2002-11-29 14:51):

Code:


$sql2="SELECT * FROM brukereWHEREepost=$brukernavn";


 

Vel, prøv dette;

 

Code:

$sql2 = "SELECT * FROM brukere WHERE epost = '$brukernavn'";

 

Dette bør løyse problemet, om det ikkje her er snakk om feil i forumet som gjer at det manglar hermeteikn, då... :smile:

Lenke til kommentar

Takker for svar - feilen ligger nok ikke på forumet, men snarere i fingrene på undertegnede...

 

Det hjalp dessverre ikke å sette inn hermetegnene.

 

Synes du resten av koden så riktig ut oxo? Det virker jo som om variabelen $fornavn er tom - henter SQL-setningen ut info kun om den påloggede brukeren?

 

Prøvde en annen variant tidligere, men da ble utskriften alle fornavnene i databasen...

 

Har oxo forsøkt med mysql_fetch_array() uten særlig hell.

Lenke til kommentar

Fant ut av dette nå - slik måtte man gjøre det:

 

$sql2 = "SELECT * FROM brukere WHERE epost='$brukernavn'";

$resultat2 = mysql_query($sql2);

$row2 = mysql_fetch_array($resultat2);

$fornavn = $row2["fornavn"];

$etternavn = $row2["etternavn"];

 

I tillegg måtte session_register($fornavn); og det samme for etternavn legges til i begge filene.

 

Da er det bare resten igjen...!

Lenke til kommentar

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