Geschrieben von mawes am 14.12.2004, 15:48

Hi,
hier ein Login Script mit MD5 Verschlüsselung!

### SQL-Code zum Table erstellen ### (phpmyadmin->datenbank->sql)


#
# Tabellenstruktur für Tabelle `counter`
#

CREATE TABLE `counter` (
`bereich` varchar(20) NOT NULL default '',
`system` varchar(20) NOT NULL default '',
`wert` int(5) NOT NULL default '0'
) TYPE=MyISAM;

# --------------------------------------------------------

#
# Tabellenstruktur für Tabelle `ips`
#

CREATE TABLE `ips` (
`id` bigint(20) NOT NULL auto_increment,
`ip` varchar(200) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=8 ;

# --------------------------------------------------------

#
# Tabellenstruktur für Tabelle `user`
#

CREATE TABLE `user` (
`id` bigint(20) NOT NULL auto_increment,
`name` varchar(255) NOT NULL default '',
`passwort` varchar(255) NOT NULL default '',
`zahl` bigint(20) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=10 ;

### Erklärung: ###
Dürfte nichts dazu zu sagen sein ;)

### db.php ###


<?php
$dbname="";
$dbhost="mysql.lima-city.de";
$dbuser="";
$dbpass="";
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);
?>

### Erklärung: ###
Die Daten, die wichtig sind, musst du hier eingeben! DIESES SCRIPT MUSST DU AN DEINE DATENBANK INFOS ANPASSEN!, sonst klappt nix!
In diesem Script wird die Verbindung zur Datenbank hergestellt! Diese datei wird dann in jede andere Datei eingebunden!

### reg.php ###


<html>
<body>
<?PHP
if ($button==" Anmelden "){

if ($pass != "" AND $pass == $pass1) {
$passwort = md5($pass);
}

include ("db.php");
mysql_query("INSERT INTO user (name , passwort)
VALUES ('$name', '$passwort');");
mysql_close();
?>
Du wurdest erfolgreich registriert!<br>
<a href="login.php">Zum Login</a>
<?
}
else {
?>
( Mit * markierte Felder, sind zwingend!)
<form method="post" action="reg.php">
Nickname:*<input type="text" name="name" value=""><br>
Passwort:*<input type="password" name="pass" value="">(wird MD5 verschlüsselt)<br>
Passwortwiederholung:*<input type="password" name="pass1" value=""><br>
<input type="submit" name="button" value=" Anmelden ">
</form>
<?
}
?>
</body>
</html>

### Erklärung: ###
Ganz am Anfang wird mit

if ($button==" Anmelden "){
geprüft, ob man seine Daten schon eingegen hat! Wenn nicht, kommen die Eingabefelder! Wenn schon, werden die Daten eingetragen!

if ($pass != "" AND $pass == $pass1) {
$passwort = md5($pass);]

Hier wird gecheckt, ob das Passwort Feld nicht leer ist, und ob das Passwort Identisch mit der Wiederholung ist! Wenn dies zutrifft, wird das passwort md5 Verschlüsselt!


include ("db.php");
mysql_query("INSERT INTO user (name , passwort)
VALUES ('$name', '$passwort');");
mysql_close();

Hier wird durch include db.php eingebunden! In dieser Datei, wie schon erklärt, wird die Datenbank verbindung hergestellt!
Nun kommt der query befehl INSERT INTO das meint, dass in die Tabelle User ind die Spalten User und passwort Die Values (daten) $name und $passwort eingetragen werden!
Nun wird die Verbindung geschlossen, und eine Erfolgsmeldung ausgegeben!

### login.php ###


<?
if ($button == "Login") {
// ab hier wird "gecheckt"!!!
$passmd5 = md5($pass);

include ("db.php");
$anfrage="SELECT * FROM user WHERE name LIKE '";
$anfrage.=$name;
$anfrage.="'";
$ergebnis=mysql_query($anfrage);
$anz=mysql_num_rows($ergebnis);
if ($anz==1) {
$zeile=mysql_fetch_row($ergebnis);
if ($passmd5==$zeile[2]) {

session_start();

$_SESSION['name'] = $name;
$_SESSION['pass'] = $passmd5;
print ("<b>Login korrekt</b>");
print ("<p>Klicken Sie hier zum Zugang:</p>");

?>
<html>
<body>
<p><a href="eingeloggt.php">Zum Profil!!</a></p>
<?PHP
}

}else{
echo "Zugangsdaten FALSCH!";

}
} else {
?>
<p>Bitte einloggen:</p><br>
<form name="Eingabe" action="login.php" method="post">
Benutzername: <br>
<input type="text" name="name" size="20"><br>
Passwort:<br>
<input type="password" name="pass" size="20"><br><br>
<input type="submit" name="button" value="Login">
<input type="reset" value="Reset">
</form>
<?
}
?>
</body>
</html>

### Erklärung: ###


if ($button == "Login") {
// ab hier wird "gecheckt"!!!
$passmd5 = md5($pass);

Hier wird wieder gecheckt, ob man seinen usernamen und sein Passwort schon angegeben hat! Wenn ja, wird das eingegebene Passwort md5 Verschlüsselt, um es mit dem anderen zu vergleichen!Das passier danach!
Wenn man aber noch nichts angegeben hat, wird man erst zu den Inputs geleitet!


include ("db.php");
$anfrage="SELECT * FROM user WHERE name LIKE '";
$anfrage.=$name;
$anfrage.="'";
$ergebnis=mysql_query($anfrage);
$anz=mysql_num_rows($ergebnis);
if ($anz==1) {
$zeile=mysql_fetch_row($ergebnis);
if ($passmd5==$zeile[2]) {

Dadurch wird aus der Datenbank ausgelesen, ob es den namen einmal gibt, und ob dass passwort das gleiche ist, wie in der Datenbank "geschrieben steht"! Wenn ja, folgt das:

session_start();

$_SESSION['name'] = $name;
$_SESSION['pass'] = $passmd5;


Nun wird die Session gestartet! das passiert durch -wie sollte es anderes sein- durch session_start(); Danach werden die Daten, die übergeben werden sollen , wie z.b. $_SESSION['name'] = $name; , festgelegt!
Diese werden dann durch alle scripte geführt!

Tja, das wars auch schon!
Wer dann in seinen Scripten NACH dem Login noch "weitergehen" will der muss noch jedes mal GANZ AM ANFANG seines Scriptes ein session_start(); haben, sonst werden die Sessions nicht weiter übernommern!

Noch fragen? Pn an mich!
mawes

Copyright by mawes

Bewertung Anzahl
6
79,2 %
19 Bewertungen
5
12,5 %
3 Bewertungen
1
8,3 %
2 Bewertungen