[PHP]Warning bij session

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • CRiMiNaL
  • Registratie: Mei 2002
  • Laatst online: 10-01-2024
ik zit hier met het volgende probleem, ik was mijn script register globals off vriendelijk aan het maken maar nu blijf ik de volgende warning houden :

Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

nou zit ik mezelf get te zoeken naar een session_register of iets geks .. maar die IS er gewoon niet ... heb het hele scriptje 10x doorgezocht met CTRL + F , maar ik vind gewoon nix meer van de oude stempel, overal gebruik ik $_SESSION["variablele"] = $variabele;
en ik begin de session met session_start();
waar-o-waar zit mijn fout :

index.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
$pagina = $_GET["target"];
$artikel_groep = $_GET["artikel_groep"];

if (!$pagina)
{
 $pagina = "home.php";
}
include "login.php";
include "connect.php";
$_SESSION['artikel_groep'] = $artikel_groep;
?>


login.php (tijdelijk zo)
PHP:
1
2
3
4
5
6
7
8
9
<?
if($_SESSION){
 echo "session bestaat al";
}
else
{
session_start();
}
?>

... MMORPG Addict.


Acties:
  • 0 Henk 'm!

  • grizzlybear
  • Registratie: Oktober 2001
  • Laatst online: 02-09 06:35
je moet ALTIJD een session_start doen. Ook als de sessie al bestaat.

Acties:
  • 0 Henk 'm!

  • CRiMiNaL
  • Registratie: Mei 2002
  • Laatst online: 10-01-2024
dit verhelpt alleen het probleem niet, bedankt voor de tip iig.

... MMORPG Addict.


Acties:
  • 0 Henk 'm!

  • Millennium
  • Registratie: Augustus 2000
  • Laatst online: 14-09 18:02

Millennium

Bug free !!!

Altijd = Op elke pagina waar je $_SESSION gebruikt, dus op beide pagina's in jou geval.

edit:

Je include login.php dus ook al automatisch session_start, maar volgens de documentatie:

Note: If you are using cookie-based sessions, you must call session_start() before anything is outputted to the browser.

[ Voor 59% gewijzigd door Millennium op 26-11-2003 15:20 ]

Rampen bak 2004


Acties:
  • 0 Henk 'm!

  • RSpliet
  • Registratie: Juni 2003
  • Laatst online: 08-09 21:45

RSpliet

*blink*

gewoon in je php.ini session.bug_compat_warn = 0 zetten, of de waarde daarvan uitzetten. T is een warning dat de session functionaliteit in PHP is uitgeschakeld. Ook het weghalen van commands als session_write() (ken de functie niet uit m'n hoofd ;)) haalt de fout regelmatig weg. Die zijn toch niet meer nodig ;).

Schaadt het niet, dan baat het niet


Acties:
  • 0 Henk 'm!

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 02-09 11:02

D2k

he ja lekker,
error level verlagen d:)b
altijd een aanrader

not

Doet iets met Cloud (MS/IBM)


Acties:
  • 0 Henk 'm!

  • CRiMiNaL
  • Registratie: Mei 2002
  • Laatst online: 10-01-2024
jah daar was ik ookal achter dat dat in php.ini kon ... maar dat wil ik dus juist niet.

Na de adviezen ziet het begin van mijn index.php er zo uit :

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<? 
$pagina = $_GET["target"];
$artikel_groep = $_GET["artikel_groep"];

session_start();
if (!$pagina)
{
 $pagina = "home.php";
}

include "connect.php";
$_SESSION['artikel_groep'] = $artikel_groep;
?>


het probleem blijft echter

[ Voor 23% gewijzigd door CRiMiNaL op 26-11-2003 15:25 ]

... MMORPG Addict.


Acties:
  • 0 Henk 'm!

  • RSpliet
  • Registratie: Juni 2003
  • Laatst online: 08-09 21:45

RSpliet

*blink*

D2k schreef op 26 november 2003 @ 15:22:
he ja lekker,
error level verlagen d:)b
altijd een aanrader

not
tijdens developing zijn errors misschien wel handig, maar aan deze is weinig te doen. Ze raden zelfs aan die waarde op 0 te zetten, aangezien het hier om één warning gaat. De rest word weergegeven. Daarnaast, als je script in 'productie' gaat moet je sowieso GEEN errors weergeven. Errors staan slordig, en, nog veel belangrijker, menschen kunnen misbruik maken van de informatie die een error geeft(exploits)... custumized errors zijn al beter, aangezien je dan zelf kiest wat je mensen wijs maakt... maar gewone errors ALTIJD uit, behalve bij het scripten zelf(je moet er toch achter komen WAAR de fout zit heh ;))...
PHP.net schreef:
session.bug_compat_42 boolean
PHP versions 4.2.0 and lower have an undocumented feature/bug that allows you to to initialize a session variable in the global scope, albeit register_globals is disabled. PHP 4.3.0 and later will warn you, if this feature is used, and if session.bug_compat_warn is also enabled.

session.bug_compat_warn boolean
PHP versions 4.2.0 and lower have an undocumented feature/bug that allows you to to initialize a session variable in the global scope, albeit register_globals is disabled. PHP 4.3.0 and later will warn you, if this feature is used by enabling both session.bug_compat_42 and session.bug_compat_warn.
^
| that's all...

[ Voor 32% gewijzigd door RSpliet op 26-11-2003 15:32 ]

Schaadt het niet, dan baat het niet


Acties:
  • 0 Henk 'm!

Verwijderd

volgens mij verhelp je het probleem als je session_register('artikelgroep') aan het begin van je script uitvoerd

Acties:
  • 0 Henk 'm!

  • dArtagnan
  • Registratie: Mei 2002
  • Laatst online: 23-08 22:47

dArtagnan

Een voor allen, allen voor een

Verwijderd schreef op 26 november 2003 @ 15:27:
volgens mij verhelp je het probleem als je session_register('artikelgroep') aan het begin van je script uitvoerd
If you want your script to work regardless of register_globals, you need to instead use the $_SESSION array as $_SESSION entries are automatically registered. If your script uses session_register(), it will not work in environments where the PHP directive register_globals is disabled.
Het ligt echt aan de nieuwe versie php 4.3.3. Ik gebruik nog 4.3.2 en daarin krijg ik deze foutmelding niet en werkt het script goed.

Ik heb even in google gezocht en je bent blijkbaar niet de enige die dit probleem heeft. Google heeft 44.200 resultaten gevonden. Maar er nergens heeft eigenlijk iemand een oplossing voor het probleem.

[ Voor 26% gewijzigd door dArtagnan op 26-11-2003 15:50 ]


Acties:
  • 0 Henk 'm!

  • CRiMiNaL
  • Registratie: Mei 2002
  • Laatst online: 10-01-2024
Verwijderd schreef op 26 november 2003 @ 15:27:
volgens mij verhelp je het probleem als je session_register('artikelgroep') aan het begin van je script uitvoerd
*zucht* ..... :/

... MMORPG Addict.


Acties:
  • 0 Henk 'm!

  • InNuedo
  • Registratie: Maart 2000
  • Laatst online: 11-09 14:56
Verwijderd schreef op 26 november 2003 @ 15:27:
volgens mij verhelp je het probleem als je session_register('artikelgroep') aan het begin van je script uitvoerd
Het antwoord van vandaag is: 'lees het hele topic'....
grizzlybear schreef op 26 november 2003 @ 14:47:
je moet ALTIJD een session_start doen. Ook als de sessie al bestaat.

Altijd = Op elke pagina waar je $_SESSION gebruikt, dus op beide pagina's in jou geval.

Je include login.php dus ook al automatisch session_start, maar volgens de documentatie:

Note: If you are using cookie-based sessions, you must call session_start() before anything is outputted to the browser.
/edit: fladder heeft een betere uitleg...

[ Voor 34% gewijzigd door InNuedo op 26-11-2003 16:13 ]


Acties:
  • 0 Henk 'm!

Verwijderd

session.bug_compat_warn
PHP versions 4.2.0 and lower have an undocumented feature/bug that allows you to to initialize a session variable in the global scope, albeit register_globals is disabled. PHP 4.3.0 and later will warn you, if this feature is used by enabling both session.bug_compat_42 and session.bug_compat_warn.
Nouja mijn verhaal was wat onzin want ik kende het woord albeit (even though) niet maar nu wel. In ieder geval, een van die twee settings disablen of de boel naar een andere scope moven :) (In een functie of in een klasse).

Het kan dus onsafe zijn als register globals aan staat maar de warning komt dus zelfs (albeit, wat een woordkeuze...) als register global uit staat.

[ Voor 49% gewijzigd door Verwijderd op 26-11-2003 16:18 ]


Acties:
  • 0 Henk 'm!

  • CRiMiNaL
  • Registratie: Mei 2002
  • Laatst online: 10-01-2024
ah ... das idd een stuk duidelijker. bedankt voor de uitleg :)

... MMORPG Addict.

Pagina: 1