[php] Sessies en Headers

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo Mensen,

Ik heb een probleem met het opvragen van informatie uit $_Sessions

wat ik doe is als volgt:

IF (ISSET($_GET['Boeken']))

{
header("Location:klant_boeking.php");
}


$_SESSION['BoekingActiviteitID'] = $_GET['ActiviteitID'];
session_write_close();


$BoekingActiviteitID=$_SESSION['BoekingActiviteitID'];


Hier volgt meer code waarbij een overzicht wordt gegeven over een bepaalde activiteit.
Als er dan op de knop Boeken wordt gedrukt moet hij de gegevens over welke activiteit er selecteerd is in een Session variable zetten omdat ik vanaf hier verschillende pagina's creer die allemaal deze ActiviteitID nodig hebben.

Als ik dit gewoon met een link doe is er geen probleem, maar als ik de volgende code oproep in klant_boeking.php


session_start();

echo "<p>gegevens uit SESSION: ".$_SESSION['BoekingActiviteitID']."</p>\n";

geeft ie geen gegevens meer terug...

Hoe zit dat en wat kan ik er aan doen?
bvd
Thomas

Acties:
  • 0 Henk 'm!

  • Johnny
  • Registratie: December 2001
  • Laatst online: 14:39

Johnny

ondergewaardeerde internetguru

Eerst de gegevens in de sessie zetten en dan doorsturen naar de volgende pagina?

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


Acties:
  • 0 Henk 'm!

  • WPN
  • Registratie: Augustus 2003
  • Laatst online: 24-07 21:14

WPN

close je sessie niet

probeer het dan

Als ik denk zoals ik dacht, dan doe ik zoals ik deed, als ik doe zoals ik deed, dan denk ik zoals ik dacht! Cogito Ergo Sum


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Johnny schreef op zaterdag 27 november 2004 @ 00:08:
Eerst de gegevens in de sessie zetten en dan doorsturen naar de volgende pagina?
Wat ik doe is eerst alles de sessie variable zetten, en dan met de zelfde php file doorsturen naar de volgende php file. die header functie wordt pas uitgevoerd nadat er op de knop is gedrukt, als het goed is is dan de session al gezet

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Peluso schreef op zaterdag 27 november 2004 @ 00:14:
close je sessie niet

probeer het dan
Heb ik geprobeerd, dit werd ergens anders hier op het forum aangeven als een mogelijk oplossing.... net als het meesturen van het SID, maar beide heb geprobeerd em werken niet, of begrijp ik niet helemaal...

Acties:
  • 0 Henk 'm!

  • WPN
  • Registratie: Augustus 2003
  • Laatst online: 24-07 21:14

WPN

code:
1
2
3
4
5
6
7
8
9
10
11
12
IF (ISSET($_GET['Boeken']))

{
header("Location:klant_boeking.php");
}


$_SESSION['BoekingActiviteitID'] = $_GET['ActiviteitID'];
session_write_close();


$BoekingActiviteitID=$_SESSION['BoekingActiviteitID'];



dus jij zegt eigenlijk met je verhaal erbij
als er geboekt wordt (op de knop Boeken klikken) moet de variabelle weggeschreven worden?

tja, dan gaat het neit werken :)

je checked of er op de knop is gedrukt en verwijst dan direct door met die header naar de pagina waarbij je dus de sessie variabele niet vult voordat je doorstuurt....


of zie ik het nu verkeerd door de tijd en drank? :D

Als ik denk zoals ik dacht, dan doe ik zoals ik deed, als ik doe zoals ik deed, dan denk ik zoals ik dacht! Cogito Ergo Sum


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Peluso schreef op zaterdag 27 november 2004 @ 01:38:
code:
1
2
3
4
5
6
7
8
9
10
11
12
IF (ISSET($_GET['Boeken']))

{
header("Location:klant_boeking.php");
}


$_SESSION['BoekingActiviteitID'] = $_GET['ActiviteitID'];
session_write_close();


$BoekingActiviteitID=$_SESSION['BoekingActiviteitID'];

of zie ik het nu verkeerd door de tijd en drank? :D
Ja, je ziet het verkeerd. De rest van de code wordt ook uitgevoerd, ondanks die header. (afaik)

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ja inderdaad, maar daarom is het dus een session variabele, zodat je die altijd zou kunnen gebruiken toch?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
iemand enig idee?

Modbreak:Je topic binnen 24 uur opnieuw onder de aandacht brengen; het zo genoemde kicken, staan we niet toe :)

[ Voor 80% gewijzigd door gorgi_19 op 28-11-2004 02:04 ]


Acties:
  • 0 Henk 'm!

  • MarkvE
  • Registratie: Maart 2004
  • Laatst online: 30-01 17:16
En als je nu eens onderstaande weghaald, dat heeft namelijk geen enkel nut of betekenis, je kunt namelijk net zo goed gewoon de sessie zelf gebruiken mocht je het willen behandelen (maar niet wijzigen) als string. Wellicht gaat het daar ook fout met RegisterGlobals, e.d.?


code:
1
$BoekingActiviteitID=$_SESSION['BoekingActiviteitID'];

[ Voor 5% gewijzigd door MarkvE op 27-11-2004 16:05 ]

Vormkracht10


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
De truck was om er exit(); bij te zetten,


IF (ISSET($_GET['Boeken']))

{
header("Location:klant_boeking.php?".SID);
exit();
}

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
MarkvE schreef op zaterdag 27 november 2004 @ 16:05:
En als je nu eens onderstaande weghaald, dat heeft namelijk geen enkel nut of betekenis, je kunt namelijk net zo goed gewoon de sessie zelf gebruiken mocht je het willen behandelen (maar niet wijzigen) als string. Wellicht gaat het daar ook fout met RegisterGlobals, e.d.?


code:
1
$BoekingActiviteitID=$_SESSION['BoekingActiviteitID'];
Ja weet ik, maar zo is het minder typen.

Acties:
  • 0 Henk 'm!

  • WPN
  • Registratie: Augustus 2003
  • Laatst online: 24-07 21:14

WPN

@ grijze vos

tis wel leuk dat je een waarde toekent aan je sessie zodat ie overal gebruikt kan worden

maar om bij de deur te komen moet je toch eerst de tuin door, maar als je halverwege de tuin uitgeslagen wordt dan kom je nooit bij de deur...


ik blijf er toch bij dat als je knop gedrukt is, dat ie dan je sessie var niet meer vult omdat je dan al doorverwezen bent naar die andere pagina

[ Voor 3% gewijzigd door WPN op 04-12-2004 21:07 ]

Als ik denk zoals ik dacht, dan doe ik zoals ik deed, als ik doe zoals ik deed, dan denk ik zoals ik dacht! Cogito Ergo Sum


Acties:
  • 0 Henk 'm!

Verwijderd

Je mag dat wel vinden, maar het is gewoon niet zo. Grijze Vos heeft gelijk. Het script wordt niet afgekapt. Ook bij een 30x kun je gewoon een message body hebben, en als je het script niet afkapt gaat je script gewoon lekker verder (en gaat alle output dus naar die message body).

[ Voor 1% gewijzigd door Verwijderd op 04-12-2004 21:12 . Reden: status getallerjtes door elkaar gehaald ]

Pagina: 1