Problem mit dem Auslesen der Sessions

MindCrawler

Mitglied
Hallo,

hab folgendes Problem ->

Hab auf dem Notebook WinXP + Apache 2.0.44 + PHP 4.3.0 installiert. Soweit funktioniert alles, bis auf das Auslesen der Sessions.

Die Sessions werden richtig gespeichert, d.h. der Pfad in der php.ini ist richtig eingetragen, die register_global hab ich sowohl mit On, als auch mit Off versucht.
Die Sessions werden einfach nicht ausgelesen.

Nehmen wir mal folgendes Script ->

PHP:
<?php
session_start();
session_register(action);
session_register(name);

if (session_is_registered('$action'))
{
 $name = $_SESSIONS[name];
 print( "Ihre ID ist: ".session_id()."<br>Ihr Name lautet: ".$name);
}
ELSE
{
?>

<FORM ACTION="<? echo $PHP_SELF; ?>" METHOD="POST">
<INPUT TYPE="HIDDEN" NAME="action" VALUE="save">
<input type="text" name="name">
<input type="submit" value="submit">
</form>

<?
}
?>

Ich komme leider immer zum Eingabeformular zurück, d.h. die Session kann nicht gefunden werden.

Ich hoffe das ihr mir helfen könnt.

lG
mC

PS: Wenn ich die Session starte und nur die Session ID ausgebe, funktioniert es.
 
Zuletzt bearbeitet:
Hi,


änder mal
PHP:
session_register(action);
session_register(name);

(session_is_registered('$action'))

$name = $_SESSIONS[name];

in
PHP:
session_register('action');
session_register('name');

(session_is_registered('action'))

$name = $_SESSION['name'];

ohne $

Welche Einstellungen hast du in der php.ini ?
register_globals ??

Gruß

Tex
 
Danke für die Antwort.

register_globals = Off

Schalte ich es ein, funktioniert es genau so wenig, dürfte also nicht unbedingt die Ursache sein.

Jetzt komme ich aber einen Schritt weiter, der Fehler lag wie Texaner richtig geschrieben hat im $.

Die SessionID wird angezeigt, die Datei erstellt nur die Variable name wird allerdings noch immer nicht angezeigt bzw. nicht ausgelesen.

lG
mC
 
Zuletzt bearbeitet:
ich würde immer um auf eine variable in der session zuzugreifen $_SESSION benutzen...

PHP:
<?php
session_start();
$_SESSION['action'] = $_POST['action'];
$_SESSION['name'] = $_POST['name'];

if ($_SESSION['action'] == "save")
{
 $name = $_SESSION['name'];
 print( "Ihre ID ist: ".session_id()."<br>Ihr Name lautet: ".$name);
}
ELSE
{
?>

<FORM ACTION="<? echo $PHP_SELF; ?>" METHOD="POST">
<INPUT TYPE="HIDDEN" NAME="action" VALUE="save">
<input type="text" name="name">
<input type="submit" value="submit">
</form>

<?
}
?>
so wirds auch gehen, wenn register_globals off ist
 
Danke für die Antworten, leiden funktioniert es nicht.

Was mich stützig macht, ich habe die selbe Konfiguration (sogar die konfig. Dateien vergliechen und der einzige Unterschied sind die Pfad-angaben.)

Und wie gesagt, am Desktop PC funktioniert, am Notebook nit.

Trotzdem danke.

lG
mC
 
Sind Cookies im Browser deines Notebooks deaktiviert?
Dann übergeb doch mal die SessionID im Formular mit:
PHP:
<input type="hidden" name="SID" value="<?php echo session_id() ?>">
 
Zurück