[php] sessie werkt niet met header

Pagina: 1
Acties:
  • 118 views sinds 30-01-2008
  • Reageer

  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 25-08 22:31
Mijn "header" vernietigd mijn sessie .. hoe kan dit ?

heb de volgende code :
PHP:
1
2
3
4
5
6
7
 $pagina= true;
 $loginValid = true; 
 session_register("loginValid"); 
 session_register("pagina"); 
 session_register("naam"); 
 //header("Location: logged.php"); 
 echo "<a href=logged.php>dude - hier</a>";


de bovenstaande code werkt, ik zie als ik met de muis op "dude - hier" sta, mijn sessie-id ..
als ik die regel weg haal, en server side mijn pagina redirect, middels de "header(location..) dan wordt de sessie niet opgeslagen, en krijg ik mijn variabelen (loginValid, pagina & naam) niet terug in de volgende pagina .. waar ligt dit aan ?

edit:
kan iemand mijn topic titel even wijzigen in : "[php] sessie werkt niet met header"

Verwijderd

http://www.php.net/manual/en/ref.session.php

ff lezen, t staat al in de eerste paar regels van de manual ;)

  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 25-08 22:31
dan lees jij beter dan ik ;) .. ik zie het echt niet ..
heb het te maken met de url ?

Verwijderd

:)
A visitor accessing your web site is assigned an unique id, the so-called session id. This is either stored in a cookie on the user side or is propagated in the URL.

toch?

Verwijderd

session_start() ?

  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 25-08 22:31
lijkt mij ook .. maar is het dus zo, dat de sessie niet door een header heen komt, omdat de sessie niet middels de url wordt verstuurd ??

  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 25-08 22:31
ja..dat heb ik bovenaan de pagina ..

  • The Dolf
  • Registratie: November 2000
  • Niet online
Misschien voortaan een iets duidelijker topictitel?
nfi

Gezocht!
Samsung 1TB HD103SI printplaat
Router
If everything seems to be going well, you have obviously overlooked something


  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 25-08 22:31
iemand ?

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

De header("location: [...]") maakt van je response een 302 in plaats van een 200. IE en Opera (mozilla weet ik niet) accepteren geen cookies in een 302, en aangezien sessies met cookies werken... The rest is left as an excercise for the reader. :+

[toevoeging]
Zodra er eenmaal succesvol een session_start (dus op een normale pagina) is aangeroepen heb je je sessie. Zorg er dus voor dat je sessie gestart is voordat je redirect. (dat je een sessie start wil natuurlijk niet zeggen dat je 'm ook gebruikt :+)

Localhost, sweet localhost


  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 25-08 22:31
hier even de volledige code ..

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php 
session_start(); 
$naam=$naam;
$wachtwoord=$wachtwoord;
if ($Submit==True)
{
mysql_connect("localhost", "x", "x")
     or die("Kan niet verbinden");
mysql_select_db("dd")
     or die("Kan geen database selecteren");
$query="select * from jeugduser where naam='$naam' AND wachtwoord='$wachtwoord'";
$run = mysql_query($query);
if (mysql_num_rows($run) == 1) 
{ 
 $pagina= true;
 $loginValid = true; 
 session_register("loginValid"); 
 session_register("pagina"); 
 session_register("naam"); 
 //header("Location: logged.php"); 
 echo "<a href=logged.php>dude - hier</a>";
}


ik open hem toch ?
en is er een andere manier om server-side te redirecten ?

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Ik zie dat je een submit verwerkt vanaf een andere pagina. Op die pagina moet je de sessie dus starten.
Een andere serverside redirect is er niet... Je zult dan met <META> of met javascript moeten werken.

Localhost, sweet localhost


  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 25-08 22:31
de sessie wordt van dezelfde pagina gestart (via de form die onder bovenstaande code is geplaatst ..)

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Geen idee wat de oorzaak is... Ik vrees dat je naar HTML-gebaseerde redirects moet gaan kijken...
Misschien nog even proberen om met $_SESSION[] te werken? Lost soms namelijk wel wat op...

Localhost, sweet localhost


  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
als het een 302 wordt kun je er toch zelf weer een 200 van maken :)

PHP:
1
Header("HTTP/1.1 200 OK");

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Dan werkt je redirect niet, althans die hoort niet te werken.

Localhost, sweet localhost


Verwijderd

ehm missch een session_start() doen in logged.php ??

Lijkt me meer daarop omdat als je je header doet, je je sessionnaam niet meegeeft en met de url methode wel, dus tjsek dat eens even. Voor de rest zie ik niet echt iets mis met je code. Bij mij werkt het wel zo. Welke versie PHP ed heb je ??

  • DiedX
  • Registratie: December 2000
  • Laatst online: 09:28
De twede pagina begint ook met session_start()?

DiedX supports the Roland™, Sound Blaster™ and Ad Lib™ sound cards


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

offtopic:
titel done

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 25-08 22:31
2e pagina begint met session_start()..
als ik namelijk een javascript redirect doe (of een a href) dan werkt hij wel ..
en de php versie (niet lachen) ... : PHP Version 4.0.6
die PHP provider loopt ver achter ..

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

grappig... dan kan 'ie gehackt worden want er zat een foutje in die versie... Welke provider is dat?
* kvdveer probeert een minachtende schaterlach in te houden, maar faalt

Localhost, sweet localhost


  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 25-08 22:31
dynasol

  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 25-08 22:31
kan het zijn nu ik de security op cookies op mijn pc wat minder zwaar heb gesteld, ik de pagina ineens wel met header en werkende sessie kan bekijken ??

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

En als je nou de SID handmatig meegeeft?

Programmer - an organism that turns coffee into software.


  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 25-08 22:31
bijvoorbeeld in een hidden field ?

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Nope in het URL


PHP:
1
header("Location: logged.php?".SID);

Programmer - an organism that turns coffee into software.


  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 25-08 22:31
heej, hij werkt nu gewoon.. en voor degenen die zeggen dat de header niet werkt met sessies .. hij werkt wel !!!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

whitehouse schreef op 05 november 2002 @ 13:11:
heej, hij werkt nu gewoon.. en voor degenen die zeggen dat de header niet werkt met sessies .. hij werkt wel !!!
Oke ... rustig aan...

1/ Mensen zijn niet alwetend, maar ze toen toch hun best om JOUW te helpen. Maar als je posts van bv. kvdveer goed leest dan zie dat hij jouw het antwoord eigenlijk al geeft.
2/ En weet je nu al waarom hij eerst niet werkte en nu wel? (Zoja, mooi. Zo nee. Open de handleiding en zorg dat je het weet)

Programmer - an organism that turns coffee into software.


  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 25-08 22:31
wilde niet negatief doen !

luitjes ! bedankt voor de hulp :D
weer wat geleerd !
Pagina: 1