hallo
habe gerade probiert das login-tutorial auszuprobieren. habe eigentlich vorwiegend mit copy/paste gearbeitet. meine tabelle users schaut zwar anders aus, aber ich habe den code so umgeschrieben dass eigentlich alles passen müßte. habe noch nicht sehr viel erfahrung mit sessions und ähnlichem und folglich auch noch nicht ein auge dafür entwickelt, was noch fehlt bzw. falsch ist. vielleicht könnt ihr ja mal kurz einen blick drauf werfen.
PROBLEM:
habe in meiner tabelle users bis jetzt erst einen benutzer(nämlich mich)
id = 1
vorname = xxxxxx
nachname = xxxxxx
nickname = waldes
email = xxx@xxx.xx
passwort = a (mit MD5)
sessionID = NULL
Wenn ich mich einlogen probier: erhalte ich immer: Ihre Anmeldedaten waren nicht korrekt!
Außerdem würde mich interessieren, wo ich den Link nach erfolgreicher anmeldung zur nächsten Seite(folglich meine Startseite) setzten kann.
Aber zuerst müß ja mal das Problem behoben werden, dass ich mich nicht anmelden kann.
logged_in.php
login.php
logout.php
sessionhelpers.inc.php
habe gerade probiert das login-tutorial auszuprobieren. habe eigentlich vorwiegend mit copy/paste gearbeitet. meine tabelle users schaut zwar anders aus, aber ich habe den code so umgeschrieben dass eigentlich alles passen müßte. habe noch nicht sehr viel erfahrung mit sessions und ähnlichem und folglich auch noch nicht ein auge dafür entwickelt, was noch fehlt bzw. falsch ist. vielleicht könnt ihr ja mal kurz einen blick drauf werfen.
PROBLEM:
habe in meiner tabelle users bis jetzt erst einen benutzer(nämlich mich)
id = 1
vorname = xxxxxx
nachname = xxxxxx
nickname = waldes
email = xxx@xxx.xx
passwort = a (mit MD5)
sessionID = NULL
Wenn ich mich einlogen probier: erhalte ich immer: Ihre Anmeldedaten waren nicht korrekt!
Außerdem würde mich interessieren, wo ich den Link nach erfolgreicher anmeldung zur nächsten Seite(folglich meine Startseite) setzten kann.
Aber zuerst müß ja mal das Problem behoben werden, dass ich mich nicht anmelden kann.
logged_in.php
PHP-Code:
<?
session_start();
include 'sessionhelpers.inc.php';
echo 'Sie sind ';
if (!logged_in())
echo 'nicht ';
echo 'eingeloggt.<p />';
echo '<a href="login.php">Start</a>';
?>
login.php
PHP-Code:
<?
session_start();
include 'sessionhelpers.inc.php';
if (isset($_POST['login']))
{
$userid=check_user($_POST['username'], $_POST['userpass']);
if ($userid!=false)
login($userid);
else
echo 'Ihre Anmeldedaten waren nicht korrekt!';
}
if (!logged_in())
echo '<form method="post" action="login.php">
<label>nickname</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="login.php">Ausloggen</a>';
echo '<p /><a href="logged_in.php">Check</a>';
?>
PHP-Code:
<?
session_start();
include 'sessionhelpers.inc.php';
echo 'Sie sind ';
if (!logged_in())
echo 'nicht ';
echo 'eingeloggt.<p />';
logout();
echo 'Sie sind ';
if (!logged_in())
echo 'nicht ';
echo 'eingeloggt.< p/>';
echo '<a href="login.php">Einloggen</a>';
?>
sessionhelpers.inc.php
PHP-Code:
<?
function connect()
{
$con= mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db('wm2006',$con) or die(mysql_error());
}
function check_user($name, $pass)
{
$sql="SELECT id
FROM users
WHERE nickname='".$name."' AND passwort=('".$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 sessionID'".session_id()."'
WHERE id=".$userid;
mysql_query($sql);
}
function logged_in()
{
$sql="SELECT users.id
FROM users
WHERE sessionID='".session_id()."'
LIMIT 1";
$result= mysql_query($sql);
return ( mysql_num_rows($result)==1);
}
function logout()
{
$sql="UPDATE users
SET sessionID=NULL
WHERE sessionID'".session_id()."'";
mysql_query($sql);
}
connect();
?>
Kommentar