Erik B. Skrevet 16. januar 2007 Skrevet 16. januar 2007 (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 16. januar 2007 av erixz
CruellaDeVille Skrevet 16. januar 2007 Skrevet 16. januar 2007 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
Erik B. Skrevet 16. januar 2007 Forfatter Skrevet 16. januar 2007 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?
CruellaDeVille Skrevet 16. januar 2007 Skrevet 16. januar 2007 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
Erik B. Skrevet 16. januar 2007 Forfatter Skrevet 16. januar 2007 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?
Erik B. Skrevet 16. januar 2007 Forfatter Skrevet 16. januar 2007 Fikk det til! Tusen takk CruellaDeVille!
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å