Gå til innhold

Session-navn problem


Anbefalte innlegg

Skrevet (endret)

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
Videoannonse
Annonse
Skrevet
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

Skrevet

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?

Skrevet
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

Skrevet

Er det da ingen måte å få det slik at når brukeren logges inn så lages det en session via innskrevet brukernavn? Må man liksom skrive inn Ola, Kari, Normann, Hermann selv for at dette skal fungere?

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