[php] isset() werkt niet?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 17-09 14:36

spaceboy

Op grote hoogte

Topicstarter
Idee: 1 file includen in allemaal losse php-bestanden. Deze file dient als soort "header" die eenmalig wat initiele dingen moet regelen. Ik DACHT aan deze oplossing. Maar dat werkt dus niet. Kan dit niet? Vergeet ik iets?


if (!isset($_SESSION["vlaggetje"]))
{
$_SESSION['vlaggetje'] = "123";
// rest van initialisatie volgt hier
// ...
}

Ik ZOU denken dat hij deze code 1 keer doorloopt, ook als hij later door andere bestanden wordt geinclude. Maar nee... :(

Weet iemand raad?

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


Acties:
  • 0 Henk 'm!

  • dingstje
  • Registratie: Augustus 2002
  • Laatst online: 02-01-2024
waarom denk je sat ie niet werkt? Hij zou moeten werken... foutmeldingen, ...?

If you can't beat them, try harder


Acties:
  • 0 Henk 'm!

  • Webgnome
  • Registratie: Maart 2001
  • Laatst online: 14:42
wat is de foutmelding als je die al krijgt..

Strava | AP | IP | AW


Acties:
  • 0 Henk 'm!

  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 17-09 14:36

spaceboy

Op grote hoogte

Topicstarter
dingstje schreef op 16 september 2003 @ 23:02:
waarom denk je sat ie niet werkt? Hij zou moeten werken... foutmeldingen, ...?
Nee, maar als ik na het zetten van het vlaggetje in het if-statement een echo blahblah neerzet krijg ik die bij het aanroepen van de pagina die deze initialisatie-code include te zien. Als ik dan shift-F5 of F5 refresh, krijg ik de echo weer te zien.

Hij ziet die isset dus niet als "JA, HIJ IS GEZET" ofzo... :?

Edit: ter illustratie iets duidelijker

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
test.php
<?
include 'init.php';
?>

init.php
<?
if (!isset($_SESSION['vlaggetje']))
{
   $_SESSION['vlaggetje'] = "123";
   echo blah
}
?>

Bij het herhaald aanroepen van test.php krijg ik steeds blah op m'n scherm.

EDIT2:
Als ik VOOR de isset een
echo $_SESSION['vlaggetje']

neerzet zie ik ook dat hij ELKE keer als init.php wordt geinclude en dus uitgevoerd deze variabele inderdaad hartstikke leeg is. WAT THE F...??? Net op 't moment dat ik dacht dat ik sessie-variabelen snapte... :( :(

[ Voor 44% gewijzigd door spaceboy op 16-09-2003 23:15 ]

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


Verwijderd

heb je wel session_start() gebruikt?

  • spaceboy
  • Registratie: Februari 2001
  • Laatst online: 17-09 14:36

spaceboy

Op grote hoogte

Topicstarter
Verwijderd schreef op 17 September 2003 @ 00:01:
heb je wel session_start() gebruikt?
Daar was ik ook al mee aan het proberen geweest, in bovenstaand voorbeeld dus bovenin init.php? Geen resultaat.

Werkt bij iemand anders dat voorbeeldje met die "echo blah;" dan wel goed? (evt. met session_start() wat mij bij niet uit lijkt te maken)

Aan bovenstaande tekst kunnen geen rechten worden ontleend. Aan de tekst hieronder wel.


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Is dat je eigen server? Worden er wel sessie-bestanden aangemaakt in de directory die je in je php.ini hebt aangegeven?
Sowieso moet je in elke pagina waar je met sessies werkt session_start() bovenin je pagina zetten (in elk geval voordat je iets output naar de client).
Zet anders eens error_reporting(E_ALL); bovenin je test.php en kijk of je foutmeldingen krijgt.

[ Voor 4% gewijzigd door crisp op 17-09-2003 00:13 ]

Intentionally left blank


  • BRAINLESS01
  • Registratie: April 2003
  • Laatst online: 12-09 09:30
Met arrays werkt het zo:
code:
1
if (array_key_exists("vlaggetje", $_SESSION)) { ... }

:)
Pagina: 1