Ich habe das Tutorial von Chaosengel Gabriel verwendet, jedoch funktioniert es nicht, wenn Cokkies nicht aktiviert sind. Habe schon Kontakt aufgebaut, jedoch kamen wir auf keine Lösung des Problems, wie sowas aussehen könnte. Jeden falls müsste die Session-ID in die URL mit eingefügt werden oder? Ich habe da überhaupt kein Plan wie so etwas funktionieren soll. Bitte um Rat. Vielen Dank schon mal im Voraus.
Script von der login.php
Script von der sessionhelpers.inc.php
Script von der login.php
PHP:
include('sessionhelpers.inc.php');
if (isset($_POST['login']))
{
$userid=check_user($_POST['username'], $_POST['userpass']);
if ($userid!=false)
login($userid);
else
echo "Deine Anmeldedaten sind nicht korrekt!";
}
if (!logged_in())
echo "<form method='post' action='login.php'>
<label>Benutzername:</label><input name='username' type='text'><br>
<label>Passwort: </label><input name='userpass' type='password' id='userpass'><br>
<input name='login' type='submit' id='login' value='Einloggen'>
</form>";
else
echo "<a href=\"logout.php\">Ausloggen</a>";
echo "<p /><a href=\"logged_in.php\">Check</a>";
?>
PHP:
<?
function connect()
{
$con= mysql_connect('xxx,'xxx','xxx') or die(mysql_error());
mysql_select_db('xxx',$con) or die(mysql_error());
}
function check_user($name, $pass)
{
$sql="SELECT id
FROM users
WHERE username='".$name."' AND userpass=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($userid)
{
$sql="UPDATE users
SET usersession='".session_id()."'
WHERE id=".$userid;
mysql_query($sql);
}
function logged_in()
{
$sql="SELECT id
FROM users
WHERE usersession='".session_id()."'
LIMIT 1";
$result= mysql_query($sql);
return ( mysql_num_rows($result)==1);
}
function logout()
{
$sql="UPDATE users
SET usersession=NULL
WHERE usersession='".session_id()."'";
mysql_query($sql);
}
connect();
?>