Hey.. langsam bin ich echt am verzweifeln..
Ich habe eine Site auf der man sich registrieren kann.
Mit dem registrierten Account kann man sich dann im Loginbereich anmelden..
Funktioniert auch..
Aber wenn ich mir die DB anschaue... ist die SessionID immer leer.. und wenn ich dann wieder ausloggen steht wieder NULL darin..
hier mein CODE:
Loginformular:
PHP
<?php
error_reporting(6143); // ^= E_ALL
include 'include/config.php';
include 'include/sessionhelpers.inc.php';
if (isset($_POST['login'])){
$ID = check_user($_POST['Name'], $_POST['Password']);
if ($ID!=false)
login($ID);
else
echo '<p>Deine Anmeldedaten waren nicht korrekt! Versuche es erneut.</p>';
}
if(!user_online()){
echo'
<form name="login_window" method="post" action="index.php?site=login&action=main">
Login
<table border="0">
<tr>
<td> ID:</td>
<td><input type="text" name="Name"></td>
</tr>
<tr>
<td> PW:</td>
<td><input type="password" name="Password"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="login" value="Login"> <input type="reset" name="reset" value="Reset"></td>
</tr>
<tr>
<td></td>
<td><a href="index.php?site=reg">Registrieren</a></td>
</tr>
</table>
</form>
';
}
else{
if(isset($_GET['action'])){
if($_GET['action']=='main'){
$sql_readout = "SELECT
ID,
Name
FROM
user
WHERE UserSession='".session_id()."'
LIMIT 1;";
$result = mysql_query($sql_readout) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
$mypersonalid = $row['ID'];
$mypersonalname = $row['Name'];
echo '<p>Hey, '.$mypersonalname.' ! - <a href="index.php?action=logout">Logout</a></p>
<table align="center" border="0">
<tr>
<td>Willkommen in deinem persönlichen Bereich.</td>
</tr>
<tr>
<td><a href="index.php?action=main&site=pwnew">Passwort ändern</a></td>
</tr>
<tr>
<td><a href="index.php?action=main&site=upload">Design uploaden</a></td>
</tr>
</table>
';
}
if($_GET['action']=='logout'){
logout();
echo "<meta http-equiv='refresh' content='0;URL=index.php?action=main'>";
}
}
}
?>
Alles anzeigen
Hier die Sessionhelpers.inc.php
PHP
<?php
//sessionhelpers.inc.php
function connect()
{
$con = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die(mysql_error());
mysql_select_db(MYSQL_DATABASE, $con) or die(mysql_error());
}
function check_user($name, $pass)
{
$sql="SELECT ID
FROM hauswurzerkeutz.user
WHERE Name='".$name."' AND Password = MD5('".$pass."')
LIMIT 1";
$result = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($result)==1)
{
$user = mysql_fetch_assoc($result);
return $user['ID'];
}
else
return false;
}
function login($ID)
{
$sql="UPDATE hauswurzerkeutz.user
SET UserSession='".session_id()."'
WHERE ID=".$ID;
mysql_query($sql);
}
function user_online()
{
$sql = "SELECT ID
FROM hauswurzerkeutz.user
WHERE UserSession='".session_id()."'
LIMIT 1";
$result = mysql_query($sql);
return (mysql_num_rows($result)==1);
}
function logout()
{
$sql="UPDATE hauswurzerkeutz.user
SET UserSession=NULL
WHERE UserSession='".session_id()."'";
mysql_query($sql);
}
connect();
?>
Alles anzeigen
in der config.php befinden sich nur die Daten zur DB..
Kann mir bitte jmd. helfen? komme echt nicht weiter