Wie kann ich so ein simples Login system schreiben...? Für meine HTML Seite
Was braucht ich alles dafür?
Was braucht ich alles dafür?
session_start();
$userinfo = array(
'user1'=>'password1',
'user2'=>'password2'
);
if(isset($_GET['logout'])) {
session_destroy();
header('Location: ' . $_SERVER['PHP_SELF']);
}
if(isset($_POST['username'])) {
if($userinfo[$_POST['username']] == $_POST['password']) {
$_SESSION['username'] = $_POST['username'];
}else {
// Login Daten sind fehlerhaft
}
}
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Login</title> </head> <body> <?php if($_SESSION['username']): ?> <p>You are logged in as <?=$_SESSION['username']?></p> <p><a href="?logout=1">Logout</a></p> <?php endif; ?> <form name="login" action="" method="post"> Username: <input type="text" name="username" value="" /><br /> Password: <input type="password" name="password" value="" /><br /> <input type="submit" name="submit" value="Submit" /> </form> </body> </html>
|
|
Woher weiß das Script ob der Account existiert?Quote:
Hey,
es kommt drauf an wie komplex du dein System haben willst. Ein einfaches System ohne Datenbank geht einfach und schnell
PHP Code:session_start();
$userinfo = array(
'user1'=>'password1',
'user2'=>'password2'
);
if(isset($_GET['logout'])) {
session_destroy();
header('Location: ' . $_SERVER['PHP_SELF']);
}
if(isset($_POST['username'])) {
if($userinfo[$_POST['username']] == $_POST['password']) {
$_SESSION['username'] = $_POST['username'];
}else {
// Login Daten sind fehlerhaft
}
}
HTML Code:<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Login</title> </head> <body> <?php if($_SESSION['username']): ?> <p>You are logged in as <?=$_SESSION['username']?></p> <p><a href="?logout=1">Logout</a></p> <?php endif; ?> <form name="login" action="" method="post"> Username: <input type="text" name="username" value="" /><br /> Password: <input type="password" name="password" value="" /><br /> <input type="submit" name="submit" value="Submit" /> </form> </body> </html>
Das ist ein Total Simples Login Script ohne wirklichen Sicherheiten da die Login Daten in der PHP-Datei stehen. Sinnvoll wäre es ein Login Script mit einer Datenbank zu verknüpfen! Wobei dann auch noch die SQL-Injection beachtet werden muss
Hier ein Tutorial für Anfänger: [Only registered and activated users can see links. Click Here To Register...]
Die Login Informationen stehen in dem ArrayQuote:
Woher weiß das Script ob der Account existiert?
$userinfo = array(
'user1'=>'password1',
'user2'=>'password2'
);
Gab es eine Fehlermeldung? Wenn ja wäre es hilfreich diese zu Posten.Quote:
Ja ich arbeite mit XAMPP
Wie sieht das script dann aus?
Hab probiert mich einzuloggen aber da passiert nix
// Wir verbinden uns mit der Mysql Service
$con = mysql_connect('localhost','username','password');
if (!$con) {
die('Konnte keine Verbindung aufbauen: ' . mysql_error());
}
// Wenn es keine Fehler bei dem Verbindungsaufbau gab,
// wählen wir die Datenbank aus
mysql_select_db('datenbank', $con);
// mit mysql_real_escape_string verhindern wir sql injection
$user=mysql_real_escape_string($username);
$pass=mysql_real_escape_string($password);
// Wir machen eine abfrage, gibt es in der Datenbank einen User der den
// usernamen und das password gibt
$query=mysql_query('SELECT * FROM login where
username="'.$user.'" AND
password="'.$pass.'"'
);
// Wir holen uns die Anzahl der Treffer.. wenn der 0 ist geben wir aus das er
// die Falschen login daten hat, ansonsten leiten wir ihn weiter
$count=mysql_num_rows($query);
$pass = md5('ein_sicherer_token'.$pass);