Geschrieben von lucas9991 am 28.12.2004, 19:19

Moin moin
Hier habt ihr nen Script für ein einfaches Login Script, wobei sich mehere User anmelden können mit verschiedenen Namen und Passwwörtern

zuerst braucht ihr ne db!!
dann führt ihr das da aus
dabei werden auch gleich 2 Testaccount erstellt!!
username = Testuser
passwort = Testpasswort

2username = 2Testuser
2passwort = 2Testpasswort

CREATE TABLE `login` (
`id` int(11) NOT NULL auto_increment,
`user` varchar(150) NOT NULL default \'\',
`pass` varchar(32) NOT NULL default \'\',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;

#
# Daten für Tabelle `login`
#

INSERT INTO `login` VALUES (1, \'Testuser\', \'Testpasswort\');
INSERT INTO `login` VALUES (2, \'2Testuser\', \'2Testpasswort\');

Das Formular zum Einloggen

<form action=\"index.php\" method=\"get\">
<table align=\"center\" width=\"110\" height=\"60\">
<tr>
<td height=\"20\">
<input type=\"hidden\" name=\"action\" value=\"einloggen\">
<input name=\"user_value\" type=\"text\" size=\"15\">
</td>
</tr>
<tr>
<td height=\"20\">
<input name=\"pass_value\" type=\"password\" size=\"15\">
</td>
</tr>
<tr>
<td height=\"20\">
<input type=\"submit\" size=\"15\" value=\" Einloggen \">
</td>
</tr>
</table>
</form>

Dann müsst ihr dies oben in die index.php schreiben bzw. in die seite wo die seiten includet werden, die nur eingeloggte sehen sollen.
Aber zuerst müssst ihr zu ner db connectet haben!!!!
z.B.
// ###################### Datenbank Einstellung ######################
$db_host = \"datenbankSERVER\";
$db_user = \"datenbankBENUTZERNAME\";
$db_pw = \"datenbankPASSWORT\";
$db_name = \"datenbankNAME\";

// ##################### Zur Datenbank Connecten ######################
mysql_connect (\"$db_host\",\"$db_user\", \"$db_pw\")or die (\"Es konnte keine Verbindung zum MySql Server hergestellt werden!\");
mysql_select_db(\"$db_name\")or die (\"Es konnte keine Verbindung zur Datenbank hergestellt werden!\");

<?
if(isset($_COOKIE[\'user\']) && isset($_COOKIE[\'pass\'])) // Cookies gesetzt?
{
// Wenn ja dann speicher den Namen unter $user und das Passwort unter $pass
$user = $_COOKIE[\'user\'];
$pass = $_COOKIE[\'pass\'];

$login_abfrage = mysql_query(\"SELECT * FROM login WHERE user=\'$user\'\");
$login_ergebnis = mysql_fetch_object($login_abfrage);
$db_pass = $login_ergebnis->pass;
// die db login öffnen wo user = dem im cookies angegebenen user und das dann passwort für den user unter $db_pass speichern

if($db_pass==$pass) $eingeloggt = \"true\"; // wenn das Passwortaus der db mit dem Passwort aus dem Cookie übereinstimmt dann $eingeloggt auf true setzten
else $eingeloggt = \"false\"; // andernfalls auf false

}
else $eingeloggt = \"false\"; // wenn keine cookies angegeben wurde $eingeloggt auf false setzten

if($action==\'einloggen\') //wenn $action==einloggen, also das formular abgesendet wurde
{
if(isset($user_value) && isset($pass_value) && !empty($user_value)) // überprüfe ob die eingabefelder ausgeüllt wurden, wobei das passwort auch gar nichts sein kann
{

$login_abfrage = mysql_query(\"SELECT*FROM login WHERE user=\'$user_value\'\");
$login_ergebnis = mysql_fetch_object($login_abfrage);
$db_pass = $login_ergebnis->pass;
// die db login öffnen wo user = dem im cookies angegebenen user und das dann passwort für den user unter $db_pass speichern

if($db_pass==$pass_value) // wenn das passwort aus der db mit dem aus dem formular übereinstimmt
{
$eingeloggt = \"true\";
setcookie(\"user\", \"$user_value\", time() + (60*60*24*7*4)); // Cookie user setzen
setcookie(\"pass\", \"$pass_value\", time() + (60*60*24*7*4)); // Cookie pass setzen
// $eingeloggt auf true setzten und die cookies user und pass für einen monat setzten

}
else $eingeloggt = \"false\"; // andernfalls $eingeloggt auf false setzten
}
else $eingeloggt = \"false\"; // andernfalls $eingeloggt auf false setzten
}

// ausloggen
if($action==\'ausloggen\')
{
setcookie(\"user\", \"\"); // löscht cookies user
setcookie(\"pass\", \"\"); // löscht cookie pass
$eingeloggt = \"false\";
}
?>

das alles muss !vor! <html> stehen!!
dann könnt ihr im eingetlichen text immer prüfen ob jemand eingeloggt is:
if($eingeloggt==\'true\')
{
echo \"Bin eingeloggt als $user mit Passwort $pass\";
// wenn man eingeloggt ist wird \"Bin eingeloggt als Testuser mit Testpasswort $pass\" ausgegeben, wenn man sich als Testuser mit dem Passwort Testpasswort angemledet hat
}

// oder

if($eingeloggt=='false')
{
echo \"Bin nicht eingeloggt\";
// wenn man nicht eingeloggt ist wird \"Bin nicht eingeloggt\" ausgegeben
}

Bewertung Anzahl
6
33,3 %
4 Bewertungen
4
16,7 %
2 Bewertungen
3
25,0 %
3 Bewertungen
2
16,7 %
2 Bewertungen
1
8,3 %
1 Bewertungen