Katzenbauer
Erfahrenes Mitglied
Ich habe ein Login Script geschrieben und auf der Index Seite eingebunden (also immer sichtbar). Ist zwar noch nicht ganz fertig aber es funktioniert nicht richtig.
. Also es wird einfach die seite index.php(wo es in einer Spalte includet wird und wo logischwerweise auch die POST Variablen hin übergeben werden) aufgerufen und das login fenster erscheint wieder, wenn ich auf Abschicken gehe. Sollte ja eigentlich nicht, da nun die erforderlichen Werte im Session Array verfügbar sind. Wo liegt mein Fehler. Falls ihr noch mehr braucht kann ich auch Dateien per Mail verschicken (oder anhängen)
Hier ist die Login Datei:
Die wird als login.php auf der index.php eingebunden:
Die Funktion fürs login ist folgende:
Zum testen bitte hier gucken: http://www.alexander.rockthis.de
testaccount: test test
. Also es wird einfach die seite index.php(wo es in einer Spalte includet wird und wo logischwerweise auch die POST Variablen hin übergeben werden) aufgerufen und das login fenster erscheint wieder, wenn ich auf Abschicken gehe. Sollte ja eigentlich nicht, da nun die erforderlichen Werte im Session Array verfügbar sind. Wo liegt mein Fehler. Falls ihr noch mehr braucht kann ich auch Dateien per Mail verschicken (oder anhängen)
Hier ist die Login Datei:
PHP:
<?
error_reporting(E_ALL);
if(isset($_POST['userid']) AND '0' == $_POST['userid']) {
echo "<p>\n";
echo " Login falsch.\n";
echo "</p>\n";
} else {
if(isset($_POST['userid'], $_POST['password']) AND
login_right(addslashes($_POST['userid']),
addslashes($_POST['password']))) {
$_SESSION['id'] = $_POST['userid'];
$sql = "SELECT
`group`
WHERE
`name` = '".$_SESSION['id']."';
FROM
`users`";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
$_SESSION['group'] = $row['group'];
}
}
if (!isset($_SESSION['id'])) {
echo " <table>\n";
echo " <form action=\"index.php\" method=\"post\" />\n";
echo " <tr>\n";
echo " <td>\n";
echo "Benutzername";
echo " </tr>\n";
echo " </td>\n";
echo " <tr>\n";
echo " <td>\n";
echo " <input class=\"kurz\" type=\"text\" name=\"userid\" id=\"name\"/>\n";
echo " </td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td>\n";
echo "Passwort";
echo " </tr>\n";
echo " </td>\n";
echo " <tr>\n";
echo " <td>\n";
echo " <input class=\"kurz\" type=\"password\" name=\"password\" id=\"password\"/>\n";
echo " </td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td>\n";
echo " <input class=\"kurz\" type=\"submit\" name=\"submit\" value=\"Abschicken\" />\n";
echo " </tr>\n";
echo " </td>\n";
echo " </form>\n";
echo " </table>\n";
} else {
echo "Du bist als<br />\n" .$_SESSION['id']."<br />\n eingelogged.";
}
?>
Die wird als login.php auf der index.php eingebunden:
PHP:
<?
include "online.php";
include "login.php";
print_r($_SESSION);
?>
Die Funktion fürs login ist folgende:
PHP:
function login_right($id, $pass)
{
$sql = "SELECT
COUNT(*) as Anzahl
FROM
`users`
WHERE
`id` = '".$id."' AND
`password` = MD5('".$pass."');";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
mysql_free_result($result);
return $row['Anzahl'];
}
Zum testen bitte hier gucken: http://www.alexander.rockthis.de
testaccount: test test