Seite 1 von 1
Was sagt diese Fehlermeldung aus?
Verfasst: 03.04.2004 13:38
von rox²³
Code: Alles auswählen
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
Und zwar bekomme ich diese Fehlermeldung wenn ich ein Script mit Session aufrufe. Sieht folgendermaßen aus:
Code: Alles auswählen
<?php
session_register ("count");
$count++;
?>
Hallo Besucher, Sie haben diese Seite <?php echo $count; ?> Mal
aufgerufen.<p>
<?php
?>
Hier gehts <A HREF="nextpage.php?<?=SID?>">weiter</A>
Wenn ich das Script erneut starte oder aktualisiere ist die Fehlermeldung weg. Auch der SID Hash ist weg wenn ich auf weiter klicken will. Statt dessen ist der Link nur noch "
http://borg/session/nextpage.php?".
Kann mir das mal bitte jemand erklären. Die von Woltlab konnten mir auch keine Antwort geben.

Verfasst: 03.04.2004 16:24
von Pyramide
PHP-Handbuch hat geschrieben:Die PHP-Versionen bis 4.2.0 haben eine undokumentierte Funktion/einen undokumentierten Fehler, der es Ihnen gestattet, eine Session-Variable im globalen Bereich zu initialisieren, obwohl register_globals deaktiviert ist. Ab Version 4.3.0 gibt PHP bei Verwendung dieser Funktion eine Warnung aus, wenn sowohl session.bug_compat_42 als auch session.bug_compat_warn aktiviert sind
Anstatt sich auf register_globals zu verlassen, ist es besser session_start() und $_SESSION zu verwenden:
Code: Alles auswählen
<?php
session_start();
$_SESSION['count']++;
?>
Hallo Besucher, Sie haben diese Seite <?php echo $_SESSION['count'] ?> Mal
aufgerufen.<p>
Hier gehts <A HREF="nextpage.php?<?=SID?>">weiter</A>
Auch der SID Hash ist weg wenn ich auf weiter klicken will
Vermutlich, weil du Cookies aktiviert hast:
PHP-Handbuch hat geschrieben:SID (string)
Konstante, die entweder den Namen und die ID der Session in der Form "name=ID" enthält
oder eine leere Zeichenkette, falls die Session-ID in einem entsprechenden Cookie gesetzt wurde.
Verfasst: 03.04.2004 19:06
von rox²³
Ah Danke für die gute Erklärung
Das erklärt natürlich alles.
Das abgeänderte Script funktioniert jetzt auch nicht wie das von mir gepostete hatte ja nicht mal richtig funktioniert.
Ich söllte mir eventuell ein neueres PHP Handbuch besorgen
