Sessionproblem PHP 4.0.6
newbi
- php
So mache ich es...
Ausgabe in Datei 2: Sessionproblem
Warum??
Und Danke
if (!isset($_GET['nick'])) {
include "config1.php";
$query = "SELECT * FROM test WHERE nick='".$nick."'";
if( $result = mysql_query( $query ) )
{ $count = mysql_num_rows( $result );
if( $count == 0) { // User ist noch nicht vorhanden
$eintragen="INSERT INTO test (nick) values('$nick')";
$result = mysql_query($eintragen);
session_start();
//session_register("nick");
$HTTP_SESSION_VARS ['nick'] =$nick ;
header("location: indexold.php");
//echo $nick ; echo "Jetzt eingetragen";
}
else
.............
session_start();
if (isset($HTTP_SESSION_VARS ['nick']))
echo $HTTP_SESSION_VARS ['nick'];
else
echo "Sessionproblem";
Moin!
So mache ich es...
Ausgabe in Datei 2: Sessionproblem
Warum??
Und DankeDatei 1
if (!isset($_GET['nick'])) {
Hier geht das Problem los, schätze ich. PHP 4.0.6 kennt $_GET nicht, sondern nur $HTTP_GET_VARS.
Du solltest vorzugsweise die PHP-Version mal auf einen aktuellen Stand bringen (4.3.1 ist aktuell), oder aber die Variablenschreibweise vereinheitlichen auf $HTTP_*_VARS.
Das Problem geht weiter, weil du bei der Datenbankabfrage offenbar auch noch von register_globals=on ausgehst, also einfach auf $nick zugreifst und hoffst, diese Variable würde auf magische Weise von $HTTP_GET_VARS['nick'] abgefärbt sein.
session_start();
//session_register("nick");
$HTTP_SESSION_VARS ['nick'] =$nick ;
header("location: indexold.php");
//echo $nick ; echo "Jetzt eingetragen";
Wie kriegt das Skript indexold.php eigentlich die Session-ID mit? Wenn du keine Cookies erlaubst, muß die ID in der URL weitergegeben werden. PHP macht das aber nur bei im Quelltext enthaltenen Links (<a href>) und Formularen, aber nicht bei Weiterleitungen.
header("Location: http://".$HTTP_SERVER_VARS['HTTP_HOST']."/Pfad/zur/indexold.php?".SID); sollte helfen (ja, die URL hinter Location MUSS absolut sein).
- Sven Rautenberg