Hallo
Ich habe ein Login Script entworfen, und am Anfang funktioniert es noch nicht.
Das ist das Script zum Einlogen und überprüfen der Daten.
Ich sage mal in kurzem was das Script genau macht.
if (logged_in()) überprüft ob er schon eingelogt ist, wenn ja, include ich intern.php, wenn nicht, kommt es zum zweiten schritt nämlich zum Einlog Formular wenn ich das ausgefüllt habe und abgeschicke dan soll es $result=OK ausgeben und somit auch intern.php includen.
Jetzt zu meinen Problem:
Wenn es über das Formular geht, dann kann ich einlogen aber das Formular wird oben eingeblendet, wie kann ich das anderes lösen?
Oder kann man das ganz vereinfachen?
Hier noch check_user funktion
Und hier noch logged_in() funktion
Vielen besten Dank
Gruss Dave
Ich habe ein Login Script entworfen, und am Anfang funktioniert es noch nicht.
Das ist das Script zum Einlogen und überprüfen der Daten.
PHP:
<?php
include ('inc/function.inc.php');
session_start();
if (isset ($_REQUEST["fehler"]))
switch ($_REQUEST['fehler']) {
case '2';
echo "Die Zugangsdaten waren ungültig.";
break;
case '3';
echo "Sie sind nicht eingelogt!";
break;
}
if (logged_in())
{
$result ="OK";
} else {
echo <<<HTMLCODE
<html>
<form method="post" action="$PHP_SELF">
<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>
</html>
HTMLCODE;
if (isset($_POST['login']))
{
$userid=check_user($_POST['username'], $_POST['userpass']);
if ($userid!=false)
login($userid);
$result ="OK";
}
}
if("OK" == $result) {
include ('intern.php');
}
?>
Ich sage mal in kurzem was das Script genau macht.
if (logged_in()) überprüft ob er schon eingelogt ist, wenn ja, include ich intern.php, wenn nicht, kommt es zum zweiten schritt nämlich zum Einlog Formular wenn ich das ausgefüllt habe und abgeschicke dan soll es $result=OK ausgeben und somit auch intern.php includen.
Jetzt zu meinen Problem:
Wenn es über das Formular geht, dann kann ich einlogen aber das Formular wird oben eingeblendet, wie kann ich das anderes lösen?
Oder kann man das ganz vereinfachen?
Hier noch check_user funktion
PHP:
function check_user($name, $pass)
{
$sql= "SELECT UserId
FROM users
WHERE UserName='".$name."' AND UserPass=MD5('".$pass."' )
LIMIT 1 ";
$result = mysql_query ($sql) or die("Datenbank Fehler");
if ( mysql_num_rows($result)==1)
{
$user=mysql_fetch_assoc($result);
return $user['UserId'];
}
else
return false;
Und hier noch logged_in() funktion
PHP:
function logged_in()
{
$sql="SELECT UserId
FROM users
WHERE UserSession='".session_id()."'
LIMIT 1";
$result= mysql_query($sql);
return ( mysql_num_rows($result)==1);
}
Vielen besten Dank
Gruss Dave