22. maj 2004 - 13:10Der er
30 kommentarer og 1 løsning
Session variable føres ikke med fra side til side
Hejsa derude
Jeg har forsøgt at lave et login-script efter en tutorial. Jeg er desværre gået helt i stå efter jeg har fundet ud af at de variable jeg sætter når en bruger er logget ind, ikke kan fremkaldes på nogen af de efterfølgende sider.
Koden til side 1 er her: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>*********</title> </head>
<body>
<? /* Check User Script */ session_start(); // Start Session
//Select which database the query are performed on $dbname = "*******";
//Contains the connection and the db selection require '*************';
if (!$username || !$password) { echo " <SCRIPT LANGUAGE='JavaScript'><!-- alert('Du skal indtaste brugernavn og password.'); history.go(-1); //--></SCRIPT> "; } else { // Convert password to md5 hash $password = md5($password);
/* perfoming SQL query */ $query = "SELECT * FROM users WHERE username='$username' AND password='$password'"; $result = mysql_query($query) or die ("Query Error!<br><br>The error returned from the database is: ".mysql_error()); $array = mysql_fetch_array($result);
Det eneste jeg kan få udskrevet er session_id() og den virker altid. Det er samme id på alle sider. Hvad er det lige jeg går forkert? Hvordan får jeg det til at virke så jeg kan benytte mig af de variable jeg sætter på side 1, på alle de andre sider der er på webstedet?
Det virker fint hvis jeg holder mig på samme side. Så kan jeg sagtens få printet de variable der er sat i sessionen... Det er først så snart jeg går over til en ny side at de ikke vil... Altså vil ovenstående forslag virke fint.
Det gi'r bare ikke mening. Din session må ligge i en cookie (siden den ikke er i url'en) - så eneste idé jeg pt har, er at du måske får skiftet domæne (fx www.dig.dk til dig.dk).. Men jeg tvivler.
Bruger du noget specielt? Har du lavet en session_handler?
dennismp: Du kan have fat i noget der. Jeg kører en apache-server med en 3-4 domæner på. Hoveddomænet for serveren er www.kebun.net, det domæne ovenstående sider kører på er www.logic-it.dk. Måske php ikke kan finde ud af sessions, når der er flere domæner kørende på apache serveren?
alleykat: De hænger sammen på den måde at side 1 sætter nogle session variable og side 2 forsøger at udskrive dem på skærmen, hvilket så fejler.
Så er den klar til lidt leg :) Samme info som før, bortset fra login til siden. Den er look/look i stedet for test/test. Du kan downloade filerne fra ftp'en, samt uploade ændringer. Du roder bare med dem så meget du vil, jeg har kopier :)
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.