/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Session-data forsvinder
Fra : Martin Kaltoft


Dato : 27-02-06 16:46

Jeg har et problem med nogle session-data der forsvinder:

En login side modtager brugernavn og password via en POST form, og gemmer i
i hver sin session, man klikker på et link til en confirm side, der laver
hvad der skal laves og redirecter tilbage til login for en
bekræftelsesside, og nu er sessions-dataene væk.

Det mærkelige er at koden virker på min egen server, men ikke på mit
webhotel. Session-data findes på redirect siden.


Kodeudsnit:

login.php:

$email = $_POST["email"];
$password = $_POST["password"];

if ($_GET[ordermade] != 1) {
$_SESSION['email'] = $email;
$_SESSION['password'] = $password;
}

if ($user_id = $users->login($_SESSION[email], $_SESSION[password])) {
if($_GET[ordermade] == 1) {
echo("Modtaget<br />");
} else {
echo("<p>Bekræft\n");
echo("<a href='mkorder.php?referer=login.php'>Bekræft</a>\n");
}
} else {
echo("Login ikke godkendt\n");
}

mkorder.php:
header("Location: http://$_SERVER[HTTP_HOST]/login.php?ordermade=1");

Login virker fint, og man klikker på bekræftssiden, hvor jeg stadig har min
email og password session-data, men tilbage på login.php?ordermade=1
skriver den "login ikke godkendt" og sessionsdata er væk... Som sagt kun på
mit webhotel, den virker fint lokalt hos mig. Sessioner virker fint andre
steder på webserveren...

Hvad går galt?

--
Med venlig hilsen

Martin Kaltoft

 
 
Daniel Overby (27-02-2006)
Kommentar
Fra : Daniel Overby


Dato : 27-02-06 20:38

Husker du session_start() på alle dine sider, der skal bruges sessions?

Prøv at udskrive $_SESSION og se om der overhovedet ligger noget.

- Daniel


"Martin Kaltoft" <kaltoft@gmail.com> skrev i en meddelelse
news:44031eca$0$2102$edfadb0f@dtext02.news.tele.dk...
> Jeg har et problem med nogle session-data der forsvinder:
>
> En login side modtager brugernavn og password via en POST form, og gemmer
> i
> i hver sin session, man klikker på et link til en confirm side, der laver
> hvad der skal laves og redirecter tilbage til login for en
> bekræftelsesside, og nu er sessions-dataene væk.
>
> Det mærkelige er at koden virker på min egen server, men ikke på mit
> webhotel. Session-data findes på redirect siden.
>
>
> Kodeudsnit:
>
> login.php:
>
> $email = $_POST["email"];
> $password = $_POST["password"];
>
> if ($_GET[ordermade] != 1) {
> $_SESSION['email'] = $email;
> $_SESSION['password'] = $password;
> }
>
> if ($user_id = $users->login($_SESSION[email], $_SESSION[password])) {
> if($_GET[ordermade] == 1) {
> echo("Modtaget<br />");
> } else {
> echo("<p>Bekræft\n");
> echo("<a
> href='mkorder.php?referer=login.php'>Bekræft</a>\n");
> }
> } else {
> echo("Login ikke godkendt\n");
> }
>
> mkorder.php:
> header("Location: http://$_SERVER[HTTP_HOST]/login.php?ordermade=1");
>
> Login virker fint, og man klikker på bekræftssiden, hvor jeg stadig har
> min
> email og password session-data, men tilbage på login.php?ordermade=1
> skriver den "login ikke godkendt" og sessionsdata er væk... Som sagt kun
> på
> mit webhotel, den virker fint lokalt hos mig. Sessioner virker fint andre
> steder på webserveren...
>
> Hvad går galt?
>
> --
> Med venlig hilsen
>
> Martin Kaltoft



Martin Kaltoft (27-02-2006)
Kommentar
Fra : Martin Kaltoft


Dato : 27-02-06 20:51

> Husker du session_start() på alle dine sider, der skal bruges sessions?

Jeps

> Prøv at udskrive $_SESSION og se om der overhovedet ligger noget.

Det er forsøgt, og de er virker på login.php, mkorder.php og når
login.php?ordermade=1 bliver loadet, er den slettet (kun på mit webhotel).

--
Med venlig hilsen

Martin Kaltoft

Martin (28-02-2006)
Kommentar
Fra : Martin


Dato : 28-02-06 00:59

Martin Kaltoft wrote:
> Jeg har et problem med nogle session-data der forsvinder:
>
> En login side modtager brugernavn og password via en POST form, og gemmer i
> i hver sin session, man klikker på et link til en confirm side, der laver
> hvad der skal laves og redirecter tilbage til login for en
> bekræftelsesside, og nu er sessions-dataene væk.
>
> Det mærkelige er at koden virker på min egen server, men ikke på mit
> webhotel. Session-data findes på redirect siden.
>
>
> Kodeudsnit:
>
> login.php:
>
> $email = $_POST["email"];
> $password = $_POST["password"];
>
> if ($_GET[ordermade] != 1) {
> $_SESSION['email'] = $email;
> $_SESSION['password'] = $password;
> }
>
> if ($user_id = $users->login($_SESSION[email], $_SESSION[password])) {

Mon ikke du mener $user_id == $users-login.... ?

Martin Kaltoft (28-02-2006)
Kommentar
Fra : Martin Kaltoft


Dato : 28-02-06 01:28

>> if ($user_id = $users->login($_SESSION[email], $_SESSION[password])) {
>
> Mon ikke du mener $user_id == $users-login.... ?

Nej, $users->login(user,pw) logger en bruger ind og returnerer bruger-id'et
på brugeren som jeg gemmer som $user_id til brug senere i scriptet.

--
Med venlig hilsen

Martin Kaltoft

Martin (01-03-2006)
Kommentar
Fra : Martin


Dato : 01-03-06 18:26

Martin Kaltoft wrote:
> mkorder.php:
> header("Location: http://$_SERVER[HTTP_HOST]/login.php?ordermade=1");


Hvis det er det eneste mkorder.php indeholder - så smid lige en
session_start(); først :)

Martin Kaltoft (01-03-2006)
Kommentar
Fra : Martin Kaltoft


Dato : 01-03-06 19:05

> Hvis det er det eneste mkorder.php indeholder - så smid lige en
> session_start(); først :)

Se mit svar til Daniel Overby, det er gjort...

--
Med venlig hilsen

Martin Kaltoft

Martin Larsen (08-03-2006)
Kommentar
Fra : Martin Larsen


Dato : 08-03-06 14:07

Martin Kaltoft wrote:

>> Hvis det er det eneste mkorder.php indeholder - så smid lige en
>> session_start(); først :)
>
> Se mit svar til Daniel Overby, det er gjort...
>

Tjek om register_globals er ON. Hvis det er, kan det give mærkelige
sideeffekter. Jeg havde præcist det samme problem pga. det!

Martin

Martin Kaltoft (09-03-2006)
Kommentar
Fra : Martin Kaltoft


Dato : 09-03-06 13:34

> Tjek om register_globals er ON. Hvis det er, kan det give mærkelige
> sideeffekter. Jeg havde præcist det samme problem pga. det!

TAK!! Jeg var lige ved at miste håbet, men det var dér skoen trykkede... Det
burde stå under user-comments i PHP's session del, kunne være man lige
skulle en tur forbi php.net...

--
Med venlig hilsen

Martin Kaltoft

Martin Larsen (11-03-2006)
Kommentar
Fra : Martin Larsen


Dato : 11-03-06 12:42

Martin Kaltoft wrote:

> TAK!! Jeg var lige ved at miste håbet, men det var dér skoen trykkede... Det
> burde stå under user-comments i PHP's session del, kunne være man lige
> skulle en tur forbi php.net...

Hehe - det har det gjort siden 6. januar hvor jeg oprettede en kommentar

http://de3.php.net/session_start

Jeg var selv ved at gå fra forstanden indtil efter jeg en masse forsøg
fandt ud af hvad der var galt!

Martin



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408526
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste