Gå til innhold

Session-navn problem


Anbefalte innlegg

Hei, jeg har laget et innloggingssystem som fungerer slik at når man logger inn lages det en session for den brukeren som har logget inn.

 

Brukernavn og passord hentes fra en mySQL database. Men problemet mitt er:

 

Når noen blir logget inn skal det lages en session med brukernavnet deres.

Altså om for eksempel Ola logger inn skal det lages en session som heter Ola.

 

Men dette ser ut til å være litt vanskelig.

 

Her er innloggingsfasen:

 

Klikk for å se/fjerne innholdet nedenfor

$res=mysql_query($sql, $oppKoble) or die ("En feil oppsto"); // Kjører spørring mot databasen

// Henter brukernavn, passord og diverse 
while ($database=mysql_fetch_array($res)) {
 $dbbrukernavn=$database['navn'];
 $dbpassord=$database['passord'];
 $dbregistrert=$database['registrert'];
 $dbid=$database['id'];
 $dbip=$database['regIp'];
 

//Dersom $brukernavnet(innskrevet brukernavn) og $passordet(innskrevet passord) matcher med de som står i databasen skjer dette.
 while ($brukernavnet==$dbbrukernavn && (md5($passordet)==$dbpassord)) {
 	echo "Logger inn...";
 	$_SESSION['$brukernavnet']=TRUE; //Hva skal gjøres her?
 	echo "<meta http-equiv='refresh' content='1;login.php'>"; //Oppdaterer side for å registrere session
 	$sessionNavn=$_SESSION['$brukernavnet'];
 	echo "$sessionNavn"; // Når jeg skriver ut  denne variabelen får ut tallet [b]1[/b]
 	break;
 }
 

 	
 }

 

Har passet på å legge til masse kommentarer til scriptet denne gangen :)

 

Det jeg lurer på er altså hvordan jeg kan opprette en session med navnet på den som ble logget inn. Det fungerer ikke slik som dette:

 

$InnskrevetBrukerNavn=$_POST['innskrevetbrukernavn'];

$_SESSION['$InnskrevetBrukerNavn']=TRUE; //Dette virker ikke

 

Takker så mye for svar :) Det haster litt da denne siden skal publiseres om noen dager for et (stort) skoleball.

Endret av erixz
Lenke til kommentar
Videoannonse
Annonse
Hei, jeg har laget et innloggingssystem som fungerer slik at når man logger inn lages det en session for den brukeren som har logget inn.

 

Brukernavn og passord hentes fra en mySQL database. Men problemet mitt er:

 

Når noen blir logget inn skal det lages en session med brukernavnet deres.

Altså om for eksempel Ola logger inn skal det lages en session som heter Ola.

 

Men dette ser ut til å være litt vanskelig.

 

Her er innloggingsfasen:

 

Klikk for å se/fjerne innholdet nedenfor

$res=mysql_query($sql, $oppKoble) or die ("En feil oppsto"); // Kjører spørring mot databasen

// Henter brukernavn, passord og diverse 
while ($database=mysql_fetch_array($res)) {
 $dbbrukernavn=$database['navn'];
 $dbpassord=$database['passord'];
 $dbregistrert=$database['registrert'];
 $dbid=$database['id'];
 $dbip=$database['regIp'];
 

//Dersom $brukernavnet(innskrevet brukernavn) og $passordet(innskrevet passord) matcher med de som står i databasen skjer dette.
 while ($brukernavnet==$dbbrukernavn && (md5($passordet)==$dbpassord)) {
 	echo "Logger inn...";
 	$_SESSION['$brukernavnet']=TRUE; //Hva skal gjøres her?
 	echo "<meta http-equiv='refresh' content='1;login.php'>"; //Oppdaterer side for å registrere session
 	$sessionNavn=$_SESSION['$brukernavnet'];
 	echo "$sessionNavn"; // Når jeg skriver ut  denne variabelen får ut tallet [b]1[/b]
 	break;
 }
 

 	
 }

 

Har passet på å legge til masse kommentarer til scriptet denne gangen :)

 

Det jeg lurer på er altså hvordan jeg kan opprette en session med navnet på den som ble logget inn. Det fungerer ikke slik som dette:

 

$InnskrevetBrukerNavn=$_POST['innskrevetbrukernavn'];

$_SESSION['$InnskrevetBrukerNavn']=TRUE; //Dette virker ikke

 

Takker så mye for svar :) Det haster litt da denne siden skal publiseres om noen dager for et (stort) skoleball.

7737270[/snapback]

 

Når du bruker en variabel i en array må du enten droppe enkle anførselstegn eller ha doble.

 

$brukernavn = "Ola";
print '$brukernavn'; // skriver ut $brukernavn
print $brukernavn; // Skriver ut Ola
print "$brukernavn"; // Skriver ut Ola

Lenke til kommentar

Hmm, jeg forsto ikke helt. Hvordan skal jeg skrive session greiene da?

 

Jeg prøvde slik:

 

$brukernavn=$_POST['brukernavn'];

$_SESSION[''$brukernavn'']=TRUE;

// og slik ...

$brukernavn=$_POST['brukernavn'];
$_SESSION[$brukernavn]=TRUE;

 

Men fungerte ikke det heller, vet ikke om jeg forsto deg rett?

Lenke til kommentar
Hmm, jeg forsto ikke helt. Hvordan skal jeg skrive session greiene da?

 

Jeg prøvde slik:

 

$brukernavn=$_POST['brukernavn'];

$_SESSION[''$brukernavn'']=TRUE; <-- Nei

// og slik ...

$brukernavn=$_POST['brukernavn']; <-- Her sier du det er "Ola"
$_SESSION[$brukernavn]=TRUE;

 

Men fungerte ikke det heller, vet ikke om jeg forsto deg rett?

7737369[/snapback]

 

Men sjekker du om $_SESSION[$brukernavn] = Ola, for det er det ikke, det har du nettopp sagt er "true". Men sjekker du om $_SESSION['Ola'] == true får du treff

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