[php] Raar session probleem

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Hallo

Ik heb een heel raar probleem op mijn webserver die op deze comp staat. Als ik met 2 scriptjes een session var aanmaak en in de ander wil uitlezen, werkt dit niet.
Ik heb in het eerste scriptje staan:
code:
1
2
3
4
session_start(); 
$naam = "Rick"; 
session_register("naam"); 
echo "<a href=\"page2.php\">Ga naar page 2</a>";


en in de andere:
code:
1
2
session_start();
print_r($HTTP_SESSION_VARS);


Nou blijft alleen de 2e pagina leeg ik krijg dan te zien :
Array
(
)


Echt heel raar. Hij maakt wel een session id aan en volgens phpinfo staan sessions ook aan enzow, maar hij pakt niet die variabelen van mij. Iemand enig idee waar het door kan komen?

Ik draai apache 1.3.27 en php 4.2.3 als exe, ook als dll werkt het niet

[ Voor 11% gewijzigd door Verwijderd op 26-12-2002 17:52 ]


Verwijderd

Ik weet het niet zeker, maar volgens mij moet je een variabele eerst registreren en dan pas een waarde toekennen

dus:

PHP:
1
2
3
4
5
6
<?
session_start(); 
session_register("naam"); 
$naam = "Rick"; 
echo "<a href=\"page2.php\">Ga naar page 2</a>";
?>

  • Harm
  • Registratie: Mei 2002
  • Niet online
PHP:
1
2
3
4
<?php
session_start();
$_SESSION["login"] = "true";
print "a href=\"page2.php\">Ga naar page 2</a>";

Dit is de code die ik gebruik om door middel van sessies aan te geven dat iemand is ingelogd. Waarbij ik dus een variabele aan de sessie koppel met daarin de waarde true. Voor jou zou dit ook moeten werken als je de variabelenaam en de -waarde verandert.

Verwijderd

Ik citeer vanaf de php man:
"If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered() and session_unregister()".

Oftewel, het is wel mogelijk om gewoon session_start() te doen en daarna $naam op te vragen. Global ($HTTP_SESSION_VARS) werkt dit echter niet. Hiervoor moet je de manier van ramH gebruiken.

Verwijderd

Topicstarter
maar waarom werkt deze code dan wel op mun "betaalde" webserver?

Verwijderd

Topicstarter
ramH schreef op 26 December 2002 @ 19:29:
PHP:
1
2
3
4
<?php
session_start();
$_SESSION["login"] = "true";
print "a href=\"page2.php\">Ga naar page 2</a>";

Dit is de code die ik gebruik om door middel van sessies aan te geven dat iemand is ingelogd. Waarbij ik dus een variabele aan de sessie koppel met daarin de waarde true. Voor jou zou dit ook moeten werken als je de variabelenaam en de -waarde verandert.
dit werkt ook niet. Ik heb eigenlijk meer het vermoeden dat het niet een code fout is, aangezien mijn code wel online werkt, maar meer dat het ergens een instellingsfout is in php.ini ofzo, maar ik heb echt geen idee wat t kan zijn

Verwijderd

misschien domme opmerking maar op sommige hosts moet je "?" achter je url zetten zodat de sessie toch doorgezet wordt ...
Verwijderd schreef op 26 December 2002 @ 18:18:
Ik weet het niet zeker, maar volgens mij moet je een variabele eerst registreren en dan pas een waarde toekennen
>> Hoeft bij mijn weten niet. Als je var registreert die al een waarde heeft, dan neemt de sessie var die waarde mee over.

  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08 14:36
In php.ini moet session.save_path naar een bestaand pad wijzen waar php ook schrijfrechten in heeft. Als dat niet zo is krijg je er trouwens netjes een waarschuwing voor (mits je die aan hebt staan natuurlijk).

| Toen / Nu


  • Shagura
  • Registratie: Augustus 2001
  • Laatst online: 14-09 08:25
Ik zou ff kijken op sessions @ php.net , want het maakt ook uit of je register_globals aan hebt hoe je sessions moet behandelen (hier staan ook de rest van de configuratieopties in de php.ini die met sessies te maken hebben)

  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08 14:36
Dat heeft ie natuurlijk al gedaan vóór ie dit topic opende.

| Toen / Nu


  • Shagura
  • Registratie: Augustus 2001
  • Laatst online: 14-09 08:25
SuperRembo schreef op 26 december 2002 @ 22:28:
[...]

Dat heeft ie natuurlijk al gedaan vóór ie dit topic opende.
Dat zou wel moeten ja, maar ik heb zo'n vermoeden dat hij dat dus niet gedaan heeft ;)

Verwijderd

Topicstarter
Shagura schreef op 26 december 2002 @ 22:16:
Ik zou ff kijken op sessions @ php.net , want het maakt ook uit of je register_globals aan hebt hoe je sessions moet behandelen (hier staan ook de rest van de configuratieopties in de php.ini die met sessies te maken hebben)
nou ik heb de php manual al wel 20 keer nagelezen hoor.
Trouwens t probleem is opgelost. Vraag me niet hoe, maar hij pakt nu opeens php.ini in mun php dir en niet meer in mun windows dir :? :?

Acties:
  • 0 Henk 'm!

Verwijderd

apache herstart of zo ?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
nee dat was t niet, want ik heb apache wel 20 keer gerebooted..

Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

mja, somehow geloof ik gewoon niet zo heel erg in die "opeens was het weer goed" verhalen... Volgens mij schaam je je dan gewoon voor de oplossing >:) ;)

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


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
drm schreef op 27 december 2002 @ 01:20:
mja, somehow geloof ik gewoon niet zo heel erg in die "opeens was het weer goed" verhalen... Volgens mij schaam je je dan gewoon voor de oplossing >:) ;)
dan geloof je me niet, maar waarom zou ik hierom liegen dan. Als t een n00b-fout was geweest, had ik t echt wel eerlijk toegegeven hoor

Acties:
  • 0 Henk 'm!

Verwijderd

global vars ?

Acties:
  • 0 Henk 'm!

  • Alex
  • Registratie: Juli 2001
  • Laatst online: 20-08 21:38
Code page2:
PHP:
1
2
3
4
session_start();
foreach($_SESSION AS $key => $value){
  print $key." : ".$value."<br>\n";
}


Dit zou moeten werken.

Deze post is bestemd voor hen die een tegenwoordige tijd kunnen onderscheiden van een toekomstige halfvoorwaardelijke bepaalde subinverte plagiale aanvoegend intentioneel verleden tijd.
- Giphart


Acties:
  • 0 Henk 'm!

  • ThaDaNo
  • Registratie: Mei 2002
  • Laatst online: 05-04-2023
Verwijderd schreef op 27 december 2002 @ 04:40:
[...]

dan geloof je me niet, maar waarom zou ik hierom liegen dan. Als t een n00b-fout was geweest, had ik t echt wel eerlijk toegegeven hoor
Hmmz ze kennnen hier jou ook al langer als vandaag ;)
Pagina: 1