Seite 1 von 1

session script funktioniert nicht

Verfasst: 20.12.2006 15:43
von langeweile
ich lerne gerade sessions und habe jetzt zum üben 2 scripts erstellt:


index.php

Code: Alles auswählen

<?php
session_start();
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="hidden" name="wert" value="yes"><small>Bitte einloggen</small><br>
Benutzername:<input type="text" name="name" size="50" maxlength="40"><br>
Passwort:<input type="password" name="passwort" size="50" maxlength="40"><br>
<input type="submit" value="Einloggen">
</form>
<?php
if ($_POST['wert'] == "yes")
	{
	$name = $_POST['name'];
	$passwort = $_POST['passwort'];
	if ($passwort == "testwort")
		{
		$login = "eingeloggt";
		}
	else
		{
		$login = "ausgeloggt";
		}
	session_register('login');
	echo $login;
	}
?>
<a href="index2.php?<?php echo session_name(); ?>=<?php echo session_id(); ?> ">Weiter ...</a>

index2.php

Code: Alles auswählen

<?php
session_start();
$login = $_SESSION['login'];
echo $login;
?>
aber wenn ich auf weiter klicke erscheint zwar in der url die session, aber es wird immer ausgeloggt ausgegeben, auch wenn ich "testwort" als passwort angegeben habe
wieso?

Verfasst: 20.12.2006 16:54
von Jojoponn139
also ich hab keinen Fehler gefunden.

Daher hab ich deine Methode

Code: Alles auswählen

session_register('login');
mal gegen meine Methode ausgetauscht

Code: Alles auswählen

$_SESSION["login"] = $login;
und schwupps diwupps gings...

PS.: Meines Wissens musst du dich nicht drum kümmern, wie die Session-ID übertragen wird. -> Das macht der alleine. Versuchs mal anstatt mit dem Link

Code: Alles auswählen

<a href="index2.php?<?php echo session_name(); ?>=<?php echo session_id(); ?> ">Weiter ...</a>
mit dem Link

Code: Alles auswählen

<a href="index2.php">weiter...</a>
... Es wird nämlich in der php.ini des Servers schon definiert, wie die ID übertragen wird. -> macht der dann auch alleine.

Verfasst: 20.12.2006 17:05
von langeweile
ok danke, aber wozu ist denn dann die funktion

session_register da?

Verfasst: 20.12.2006 17:29
von Banger
Schau einfach mal in die Doku: http://de.php.net/session_register

Verfasst: 20.12.2006 18:47
von 2005
wenn du php 4 hast, brauchst du session_register nich:
php.net Doku hat geschrieben:// Ab PHP 4.1.0 ist die Verwendung von $_SESSION vorzuziehen
$_SESSION["zim"] = "An invader from another planet.";

Verfasst: 21.12.2006 11:01
von StarWolf3000
möglicherweise hilft auch:

Code: Alles auswählen

ini_set("session.cookie_path", "/");
das fügst du jeweils vor

Code: Alles auswählen

session_start();
ein

Verfasst: 21.12.2006 14:58
von Jojoponn139
StarWolf3000 hat geschrieben:möglicherweise hilft auch:

Code: Alles auswählen

ini_set("session.cookie_path", "/");
das fügst du jeweils vor

Code: Alles auswählen

session_start();
ein

ÄHM ... Es geht schon... ->> siehe mein ersten POST.