Was sagt diese Fehlermeldung aus?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
rox²³
Mitglied
Beiträge: 347
Registriert: 24.07.2003 15:18
Wohnort: Schmölln
Kontaktdaten:

Was sagt diese Fehlermeldung aus?

Beitrag 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. :cry:
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag 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.
Benutzeravatar
rox²³
Mitglied
Beiträge: 347
Registriert: 24.07.2003 15:18
Wohnort: Schmölln
Kontaktdaten:

Beitrag von rox²³ »

Ah Danke für die gute Erklärung :grin:
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 :lol:
Antworten

Zurück zu „Coding & Technik“