Avatar billede exp Juniormester
04. februar 2003 - 12:54 Der er 27 kommentarer og
2 løsninger

$_SESSION - hente værdi

Hejsa,

jeg har modificeret lidt på loginscriptet her:
http://www.sukos.dk/php/login/mysql/mysql-login.zip

jeg har fx tilføjet en kolonne i tabellen der hedder "status".

Denne status henter jeg ud af tabellen ved kaldet i "dologin.php"

I "dologin.php" har jeg indsat følgede:
$_SESSION['Status'] = $_POST['status'];

hvilket jo umiddelbart burde sætte $_SESSION['Status'] = fx gæst. Sådan skal det ihvertfald helst være :o9

Senere (på siden der er passwordbeskyttet) kalder jeg $_SESSION['Status'] via echo-funktionen:

<?php echo $_SESSION['Status']; ?> - men den UDSKRIVER IKKE NOGET?!?

På selvsamme side, ja i selvsamme linie virker:

<?php echo $_SESSION['Name']; ?> - som bliver sat samme sted som $_SESSION['Status']


Hvad gør jeg forkert?
Avatar billede nikolajdu Nybegynder
04. februar 2003 - 12:58 #1
Har du husket at starte din session??

session_start();
Avatar billede mufoxe Nybegynder
04. februar 2003 - 13:00 #2
Det må han have siden den ene variabel i SESSION indeholder en værdi.

exp: er du sikker på at der overhovedet er noget i $_POST['status'] ? Prøv evt. at udskrive den som det første lige efter post.
Avatar billede nikolajdu Nybegynder
04. februar 2003 - 13:00 #3
DEt har du selvfølgelig når den anden virker. Du må vise lidt mere af koden.
Avatar billede nikolajdu Nybegynder
04. februar 2003 - 13:01 #4
Damn mufoxe først tager du mig i en dum fejl og bagefter tog du lige mit næste bud også. :))
Avatar billede moefelt Nybegynder
04. februar 2003 - 13:02 #5
yeps vi vil ha kode ;-)
Avatar billede exp Juniormester
04. februar 2003 - 13:03 #6
dologin.php:

<?php

session_start();

//hvis form er submittet
if (isset($_POST['logind'])) {

//password i databasen er krypteret, så det gøres også med indtastet password
$dopass = md5($_POST['password']);


//skift selv bruger og pass til databasen.
$db = mysql_connect("*****", "*****", "*****") or die ("Desværre ingen forbindelse til databasen");

mysql_select_db("*****", $db) or die ("Kunne ikke vælge databasetabel");

$tjek = mysql_query("SELECT navn, password, status FROM brugere WHERE navn='$_POST[navn]' AND password='$dopass'") or die ("Kunne ikke vælge felter i database-tabellen");

if(mysql_num_rows($tjek) != 0) {

$_SESSION['sessionnr'] = session_id();
$_SESSION['Name'] = $_POST['navn'];

/* Her er den linie der burde sætte $_SESSION['Status'] = et-eller-andet */
$_SESSION['Status'] = $_POST['status'];


header("Location:offline.php");
exit;
}else{

header("Location:logind.php?error=fejl");
exit;
}

}else{

header("Location:logind.php");
exit;
}

?>
Avatar billede moefelt Nybegynder
04. februar 2003 - 13:04 #7
hvordan ser koden ud der poster
Avatar billede exp Juniormester
04. februar 2003 - 13:07 #8
poster?

denne her?

Logind.php:
<form action="dologin.php" method="post">
<input type="hidden" name="logind" value="logind">
<p><b>Indtast:</b></p>
Username:<br>
<input type="text" name="navn"><br>
Password:<br>
<input type="password" name="password"><br>
<input type="submit" name="submit" value="Login">
</form>
Avatar billede moefelt Nybegynder
04. februar 2003 - 13:08 #9
ok - jamen der er jo heller intet der gir status nogen værdi
Avatar billede exp Juniormester
04. februar 2003 - 13:09 #10
Som i kan se i dologin.php sættes $_SESSION['Name'] her:

$_SESSION['Name'] = $_POST['navn'];

Jeg gør nøjagtig det samme med $_SESSION['Status']:

$_SESSION['Status'] = $_POST['status'];

Fatter det ikke - ved der er noget i status ud for alle poster
Avatar billede exp Juniormester
04. februar 2003 - 13:12 #11
Som i kan se i dologin.php sættes $_SESSION['Name'] her:

$_SESSION['Name'] = $_POST['navn'];

Jeg gør nøjagtig det samme med $_SESSION['Status']:

$_SESSION['Status'] = $_POST['status'];

Fatter det ikke - ved der er noget i status ud for alle poster
Avatar billede exp Juniormester
04. februar 2003 - 13:13 #12
hmm... mystisk... Nåja, så kan i da se det *G*
Avatar billede moefelt Nybegynder
04. februar 2003 - 13:13 #13
men du poster jo ikke noget i status
Avatar billede moefelt Nybegynder
04. februar 2003 - 13:14 #14
er det ikke meningen at du vil hente den pågældende brugers status fra databasen istedet - hvis login er sat
Avatar billede exp Juniormester
04. februar 2003 - 13:14 #15
moefelt >>
Jeg henter status her:

$tjek = mysql_query("SELECT navn, password, status FROM brugere WHERE navn='$_POST[navn]' AND password='$dopass'") or die ("Kunne ikke vælge felter i database-tabellen");
Avatar billede exp Juniormester
04. februar 2003 - 13:15 #16
F*CK - tror jeg har set lyset
Avatar billede moefelt Nybegynder
04. februar 2003 - 13:16 #17
du henter ikke status nogen steder - he he - perfekt håbede også du kunne se det nu
Avatar billede moefelt Nybegynder
04. februar 2003 - 13:17 #18
lav en $row=mysql_fetch_array($tjek) og sæt $_SESSION["Status"] = $row["status"]
Avatar billede moefelt Nybegynder
04. februar 2003 - 13:22 #19
eller du henter status men bruger den ikke...u got the picture
Avatar billede moefelt Nybegynder
04. februar 2003 - 13:23 #20
er I andre også ude for at eksperten hænger nogle gange - super irri
Avatar billede exp Juniormester
04. februar 2003 - 13:23 #21
Nu har jeg helt stirret hjernen i tomgang!

Hvad er den nemmeste måde at hente værdien af status?

prøvede med:
$status = mysql_fetch_array($tjek['status']) -- det gav headerfejl
Avatar billede mufoxe Nybegynder
04. februar 2003 - 13:26 #22
hihi, jeg havde ret :)
Avatar billede moefelt Nybegynder
04. februar 2003 - 13:29 #23
du skal bruge den opskrift jeg gav:

$var = mysql_fetch_Array($tjek);
$status = $var["status"];
Avatar billede moefelt Nybegynder
04. februar 2003 - 13:32 #24
ahh det er mig du kan selvfølgelig godt gøre som du skrev. Har du misset et ; eller lign.
Avatar billede exp Juniormester
04. februar 2003 - 13:33 #25
moefelt >>
din kommenter 13:17:39 forsvandt i mængden...

Det virker nu!

Vil godt give lidt mere end point!
Avatar billede moefelt Nybegynder
04. februar 2003 - 13:34 #26
du skal huske at der ikke må være noget output på skærmen før en header. Husk at fjern din test af $status - hvis du lavede en som mufoxe sagde
Avatar billede moefelt Nybegynder
04. februar 2003 - 13:35 #27
he he - rolig nu - jeg er kun til piger ;-9
Avatar billede exp Juniormester
04. februar 2003 - 13:35 #28
Giver lige en www.øl.nu - cheers mates
Avatar billede moefelt Nybegynder
04. februar 2003 - 13:37 #29
aiight - bottoms up!! cool
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester