Habe irgendwie Mitleid:
Nimm mal diese Tabelle:
CREATE TABLE users (
id int(11) NOT NULL auto_increment,
nickname varchar(20) NOT NULL default '',
passwort varchar(20) NOT NULL default '',
email varchar(35) NOT NULL default '',
frage varchar(40) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;
die daten kannste ja erstmal zum testen manuell reinschreiben und dann später
ein simples script dazu schreiben
und dann mal den Code dazu:
<?
ob_start(); // Öffnet einen Puffer, damit der Header erst am schluss gesendet wird...keine cookie probleme
?>
<?
//////////////////////////
//Session Einstellungen///
//////////////////////////
session_name("sID");
// Session-id-name ... wir imer vergeben/wieder aufgenommen
session_start("tut");
// Session Name ... wir imer vergeben/wieder aufgenommen
//////////////////////////
//Einstellungen Mysql /////
//////////////////////////
$server = "localhost"; // db server name
$user = "deinUsername"; // der Mysql-Username
$pass = "deinPasswort"; // das Mysql-Password
$db = "deineDataBase"; // db Name
$tab = "users"; // tabellenname
$mc = mysql_pconnect($server, $user, $pass); // öffnet eine permanente Verbindung zum db-Server
mysql_select_db($db, $mc); // wählt die Database aus
//////////////////////////
//Funktionen definieren///
//////////////////////////
function formular($fehler) { // die Funktion formular mit der Variabel $fehler, die ist dazu da, wenn z.B dass PW falsch ist...
Print("<FORM method=post action=default.php>
<TABLE WIDTH='38%' ALIGN='CENTER' BORDER='0' CELLPADDING='0' CELLSPACING='1'>
<TR BGCOLOR='#cccccc' VALIGN='MIDDLE'><TD COLSPAN='2' HEIGHT='20' CLASS='normal'>
<DIV ALIGN='left'>Bitte loggen Sie sich zu Ihrem Administrationssystem ein:<br><br><B>$fehler</B></DIV></TD></TR>
<td> </TD>
<TR BGCOLOR='#ffffff'>
<TD CLASS='normal' WIDTH='200'>Ihr Benutzername:</TD>
<TD BGCOLOR='#ffffff' WIDTH='136'>
<DIV ALIGN='LEFT'><INPUT TYPE='text'
NAME='_name' SIZE='25'></DIV></TD></TR>
<TR BGCOLOR='#ffffff'><TD
CLASS='normal'>Ihr Passwort:</TD><TD><DIV ALIGN='LEFT'>
<INPUT TYPE='PASSWORD' NAME='_pass' SIZE='25'></DIV></TD></TR>
<TR BGCOLOR='#ffffff'>
<TD CLASS='normal'> </TD><TD><DIV ALIGN='RIGHT'>
<INPUT TYPE='submit' VALUE='Login' NAME='submit'></DIV></TD></TR><td> </TD></TABLE>
<table width =50% align=center border=1 cellpadding=0 cellspacing=0<tr><TD
CLASS='normal'><center>Passwort vergessen?</TD><TD><center><a href=make_mail.php>hier können Sie Ihr Passwort anfordern</a></TD>
</tr>
<TD
CLASS='normal'><center><b>Master-Admin Login:</b><br>
Sie benötigen das Masterpasswort</TD><TD valign=bottom><div align=center ><a href=master_login_form.php>Benutzer anlegen, ändern und löschen</a></div></TD>
</tr>
</table>
");
include ("footer.html");
}
function testpw($id, $nickname, $passwort) {
global $tab;
$check = mysql_query("SELECT * FROM $tab WHERE id='$id' AND nickname='$nickname' AND password='$passwort'");
// Es wird eine Anfrage an die database gesendet, wo die daten der database entsprechen...
if(mysql_num_rows($check))
{ // wenn die Anfrage erfolgreich war....
echo "<center>
<table WIDTH='38%' ALIGN='CENTER' BORDER='1' CELLPADDING='0' CELLSPACING='0'>
<tr bgcolor=#cccccc>
<td colspan=2 height=20 with=100 class=normal <div align=left><b>Sie sind im System eingeloggt</b></div></td></tr>
<tr>
<td height=20 with=100 class=normal <div align=left<b>Benutzername: </b></div>
<td with=100 class=normal><div align=left>$nickname</div></td></tr>
<tr>
<td height=20 class=normal <div align=left<b>Passwort: </b></div>
<td class=normal><div align=left>$passwort</div></td></tr>
<tr>
<td height=20 class=normal <div align=left<b>Ihre ID: </b></div>
<td class=normal><div align=left>$id</div></td></tr>
</table>";
?>
<table WIDTH="38%" ALIGN="CENTER" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<tr><td> </td></tr>
</table>
<table WIDTH="38%" ALIGN="CENTER" BORDER="1" CELLPADDING="0" CELLSPACING="0">
<tr><td><center><A HREF=index.php3?sID=<? echo (session_id()) ?>>weiter zur Administration...</A></td></tr>
</table>
<table WIDTH="38%" ALIGN="CENTER" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<tr><td> </td></tr>
</table>
<table WIDTH="38%" ALIGN="CENTER" BORDER="1" CELLPADDING="0" CELLSPACING="0">
<tr><td><center><A HREF=<? echo "$PHP_SELF?mode=logout" ?>>Logout</A></td></tr>
</table>
<?
include ("footer.html");
} // ende if
elseif(!mysql_num_rows($checkt)) { // wenn nicht wird die session zerstört
echo "No way, netter Versuch";
session_destroy("tut");
} //ende elseif
} //ende Function
//////////////////////////
////////Styledatei////////
//////////////////////////
echo
"<LINK REL='stylesheet' HREF='style.css' TYPE='text/css'>"; //style datei...muss ja auch ein bisschen nach was aussehen
//////////////////////////
//////Der Hauptcode///////
//////////////////////////
if($mode == "logout")
{
session_destroy("tut");
setcookie(session_name(), session_id(),
time() - 60*10); // setzt cookie auf MINUS 10min..sodass der keks gelöscht wird
formular("Bitte neu einloggen!"); // Formular wird neu geldaen
}
elseif(session_is_registered("login"))
{
testpw($login[id], $login[nickname], $login[passwort]); // führt die Funktion mit den Variabeln aus der Session aus.
}
elseif(isset($_name)
&& isset($_pass)) {
$get = mysql_query("select * from $tab where
nickname='$_name' AND passwort='$_pass'"); // Es wird eine Anfrage an die database gesendet, wo die daten der database entsprechen...
if(mysql_num_rows($get))
{ // wenn die Anfrage erfolgreich war....
$login = mysql_fetch_array($get);
session_register(login); //Registriert den array
setcookie(session_name(),session_id(), time() + 60*10); // setzt cookie auf 10min
echo "<center>
<table WIDTH='38%' ALIGN='CENTER' BORDER='1' CELLPADDING='0' CELLSPACING='0'>
<tr bgcolor=#cccccc>
<td colspan=2 height=20 with=100 class=normal <div align=left><b>Sie sind im System eingeloggt</b></div></td></tr>
<tr>
<td height=20 with=100 class=normal <div align=left<b>Benutzername: </b></div>
<td with=100 class=normal><div align=left>$login[nickname]</div></td></tr>
<tr>
<td height=20 class=normal <div align=left<b>Passwort: </b></div>
<td class=normal><div align=left>$login[passwort]</div></td></tr>
<tr>
<td height=20 class=normal <div align=left<b>Ihre ID: </b></div>
<td class=normal><div align=left>$login[id]</div></td></tr>
</table>";
?>
<table WIDTH="38%" ALIGN="CENTER" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<tr><td> </td></tr>
</table>
<table WIDTH="38%" ALIGN="CENTER" BORDER="1" CELLPADDING="0" CELLSPACING="0">
<tr><td><center><A HREF=index.php3?sID=<? echo (session_id()) ?>>weiter zur Administration...</A></td></tr>
</table>
<table WIDTH="38%" ALIGN="CENTER" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<tr><td> </td></tr>
</table>
<table WIDTH="38%" ALIGN="CENTER" BORDER="1" CELLPADDING="0" CELLSPACING="0">
<tr><td><center><A HREF=<? echo "$PHP_SELF?mode=logout" ?>>Logout</A></td></tr>
</table>
<?
include ("footer.html");
} // end if $get...
elseif(!mysql_num_rows($get)) {
formular("Benutzername
oder Passwort falsch!");
} // end elseif $get...
} // end isset...
else
{
formular("Loginsystem");
}
?>
<? ob_end_flush(); //beendet den puffer(wg. cookies) und gibt die daten aus...
?>
Läuft wie ne eins.