session script funktioniert nicht

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
langeweile
Gesperrt
Beiträge: 234
Registriert: 03.12.2006 14:48
Kontaktdaten:

session script funktioniert nicht

Beitrag 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?
Jojoponn139
Mitglied
Beiträge: 133
Registriert: 05.08.2006 01:20
Wohnort: Berlin
Kontaktdaten:

Beitrag 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.
Jojoponn139
phpBB-de.org
langeweile
Gesperrt
Beiträge: 234
Registriert: 03.12.2006 14:48
Kontaktdaten:

Beitrag von langeweile »

ok danke, aber wozu ist denn dann die funktion

session_register da?
Benutzeravatar
Banger
Ehemaliges Teammitglied
Beiträge: 375
Registriert: 03.05.2005 21:53
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Banger »

Schau einfach mal in die Doku: http://de.php.net/session_register
2005
Mitglied
Beiträge: 253
Registriert: 10.10.2005 19:52
Wohnort: Tauberbischofsheim
Kontaktdaten:

Beitrag 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.";
Benutzeravatar
StarWolf3000
Mitglied
Beiträge: 1019
Registriert: 25.07.2005 10:20
Wohnort: Stolpen
Kontaktdaten:

Beitrag 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
MOD-Einbauhilfe und Installationen über ICQ, TeamSpeak 2/3 und TeamViewer. Support nur im Forum, eingeschränkt per TeamViewer, aber nicht mehr per PN! • KB:knigge
Jojoponn139
Mitglied
Beiträge: 133
Registriert: 05.08.2006 01:20
Wohnort: Berlin
Kontaktdaten:

Beitrag 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.
Jojoponn139
phpBB-de.org
Antworten

Zurück zu „Coding & Technik“