P
PHP_USER123
Hallo ich habe folgenden Code:
home.php
<?php session_start (); ?>
<html>
<head>
</head>
<body>Id:<?php echo $_SESSION["user_id"]."nickname:".$_SESSION["user_nickname"]; ?>
</body>
</html>
login.php
<?php
if (isset ($_REQUEST["bad"]))
{
echo '<font color="#999999">Die Zugangsdaten sind ungültig.</font><br>' ;
echo '<font color="#999999">Bitte noch einmal probieren oder an den'.' <a target="_parent" href="kontakt.php"><font color="#0099CC">Support</font></a> wenden.</font>';
}
?>
<form action="login_submit.php" method="post">
<table width="223">
<tr>
<td width="67"><font color="#999999">E-Mail:</font></td>
<td width="144"><input name="Email" type="text" value="" size="24" maxlength="50" /></td>
</tr>
<tr>
<td><font color="#999999">Passwort:</font></td>
<td><input name="Passwort" type="password" value="" size="24" /></td>
</tr>
<tr>
<td><input type="submit" name="submit2" border="0" value="Log-In" />
</font>
</td>
<td>
<a href="pwvergessen.php"><font color="#0099CC">Passwort vergessen
<input type="hidden" name="Kontrolle" id="Kontrolle" value="1"/>
</font></a></td>
</tr>
</table>
</form>
login_submit.php
<?php
// Session starten
session_start ();
// Datenbankverbindung aufbauen
include 'config.php';
//Abfrage in der Datenbank + SQL INJECTION Abwehr
$sql=mysql_query("SELECT * FROM benutzerdaten WHERE Email like '".mysql_real_escape_string($_POST["Email"])."' AND Passwort = '".mysql_real_escape_string(sha1($_POST["Passwort"]))."'");
if (mysql_num_rows ($sql) > 0)
{
// Benutzerdaten in ein Array auslesen.
$data = mysql_fetch_array ($sql);
// Sessionvariablen erstellen und registrieren
$_SESSION["user_ip"] = $_SERVER['REMOTE_ADDR'];
$_SESSION["user_id"] = $data["Id"];
$_SESSION["user_nickname"] = $data["Email"];
header ("Location: home.php");
exit;
}
else{header ("Location: login.php?bad=1");}
?>
Das Problem: es wird keine ID,Nichname ausgegeben.
Wenn ich es noch direkt bei login_submit.php ausgeben lasse funktioniert es.
home.php
<?php session_start (); ?>
<html>
<head>
</head>
<body>Id:<?php echo $_SESSION["user_id"]."nickname:".$_SESSION["user_nickname"]; ?>
</body>
</html>
login.php
<?php
if (isset ($_REQUEST["bad"]))
{
echo '<font color="#999999">Die Zugangsdaten sind ungültig.</font><br>' ;
echo '<font color="#999999">Bitte noch einmal probieren oder an den'.' <a target="_parent" href="kontakt.php"><font color="#0099CC">Support</font></a> wenden.</font>';
}
?>
<form action="login_submit.php" method="post">
<table width="223">
<tr>
<td width="67"><font color="#999999">E-Mail:</font></td>
<td width="144"><input name="Email" type="text" value="" size="24" maxlength="50" /></td>
</tr>
<tr>
<td><font color="#999999">Passwort:</font></td>
<td><input name="Passwort" type="password" value="" size="24" /></td>
</tr>
<tr>
<td><input type="submit" name="submit2" border="0" value="Log-In" />
</font>
</td>
<td>
<a href="pwvergessen.php"><font color="#0099CC">Passwort vergessen
<input type="hidden" name="Kontrolle" id="Kontrolle" value="1"/>
</font></a></td>
</tr>
</table>
</form>
login_submit.php
<?php
// Session starten
session_start ();
// Datenbankverbindung aufbauen
include 'config.php';
//Abfrage in der Datenbank + SQL INJECTION Abwehr
$sql=mysql_query("SELECT * FROM benutzerdaten WHERE Email like '".mysql_real_escape_string($_POST["Email"])."' AND Passwort = '".mysql_real_escape_string(sha1($_POST["Passwort"]))."'");
if (mysql_num_rows ($sql) > 0)
{
// Benutzerdaten in ein Array auslesen.
$data = mysql_fetch_array ($sql);
// Sessionvariablen erstellen und registrieren
$_SESSION["user_ip"] = $_SERVER['REMOTE_ADDR'];
$_SESSION["user_id"] = $data["Id"];
$_SESSION["user_nickname"] = $data["Email"];
header ("Location: home.php");
exit;
}
else{header ("Location: login.php?bad=1");}
?>
Das Problem: es wird keine ID,Nichname ausgegeben.
Wenn ich es noch direkt bei login_submit.php ausgeben lasse funktioniert es.