PHP-Login mit Registrierung

schlurpsel

Gesperrt
Hey,
habe folgendes Login + Registrieren Script im Internet gefunden:
index.php:
PHP:
<? 

# Hier ggf. den Header einfügen! 

if ($anmelden) { anmelden($fertig, $user, $password1, $password2, $email);} 
else if ($abmelden) { abmelden($fertig, $user, $password);} 
else if ($forgot) { forgot($fertig, $email);} 
else 
{ login($fertig, $user, $password);} 
# hier ggf. den Footer einfügen! 

?> 

<? 

function inhalt($user) 
{ 
session_start(); 
session_register("user"); 

################################## 

#Bauen Sie hier Ihren Inhalt ein!# 

?> 

<b>Geschützter Inhalt!</b> 

<? 
} 
?> 

<? 
function login($fertig, $user, $password) 
{ 
include("connect.php"); 

if ($fertig) { 
$abfrage = mysql_query ("SELECT * FROM login WHERE user = '$user'"); 
$reihen = mysql_num_rows($abfrage); 

if ($reihen <= 0) { 
echo "Unbekannter Benutzername!"; 
} 

else { 
while ($row = mysql_fetch_object ($abfrage)) { 
if ($row->password==$password) { 
inhalt($user); 
} 

else { 
echo "Falsches Passwort!"; 
} 
} 

} 

} 
else { 


echo 'Zum anmelden geht es <a href="'.$PHP_SELF.'?anmelden=yes">hier</a> lang!'; 
echo '<p><a href="'.$PHP_SELF.'?forgot=yes">Passwort vergessen?</a><br><a href="$PHP_SELF?abmelden=yes">Abmelden</a></p>'; 
echo '<form method="POST" action="'.$PHP_SELF.'?anmelden=yes&fertig=yes">'; 



?> 
<table cellspacing="1" cellpadding="2" border="0"> 
<tr> 
<td><font size="2">Benutzername:</font></td> 
<td><font size="2"><input type="text" name="user" value="">&nbsp;</font></td> 
</tr> 
<tr> 
<td><font size="2">Passwort:</font></td> 
<td><font size="2"><input type="password" name="password" value=""></font></td> 
</tr> 
<tr> 
<td colspan=2 align=center><input type=submit value=Login></td> 
</tr> 
</table> 
</form> 

<? 
echo '<p><a href="'.$PHP_SELF.'?forgot=yes">Passwort vergessen?</a><br><a href="$PHP_SELF?abmelden=yes">Abmelden</a></p>'; 
} 
} 

?> 

<? 
function anmelden ($fertig, $user, $password1, $password2, $email) 
{ 
include("connect.php"); 
if($fertig) { 
$abfrage1 = mysql_query("SELECT user FROM login"); 
while ($row = mysql_fetch_object ($abfrage1)) { 

if ($row->user==$user) { 
echo "Dieser Benutzer existiert schon!"; 
exit; 
} 

} 

if ($user=="" OR $password1=="" OR $password2=="" or $email=="") { 
echo "Sie haben mindestens ein Feld nicht ausgefüllt!"; 
} 

else if ($password1!=$password2) { 
echo "Ihr Passwort ist ungleich Ihrer Wiederholung!"; 
} 

else { 
$anfuegen=mysql_query("INSERT INTO login (user, password, email) VALUES ('$user','$password1', '$email')"); 

echo "Erfolgreich angemeldet! Sie können sich nun einloggen:<br>"; 
@login(); 
} 

} 

else { 
echo "<h2>Anmelden</h2>"; 
echo '<form method="POST" action="'.$PHP_SELF.'?anmelden=yes&fertig=yes">'; 
?> 

<table cellspacing="1" cellpadding="2" border="0"> 
<tr> 
<td><font size="2">Benutzername:</font></td> 
<td><font size="2"><input type="text" name="user" value="">&nbsp;</font></td> 
</tr> 
<tr> 
<td><font size="2">Passwort:</font></td> 
<td><font size="2"><input type="password" name="password1" value=""></font></td> 
</tr> 
<tr> 
<td><font size="2">Wiederholen:</font></td> 
<td><font size="2"><input type="password" name="password2" value=""></font></td> 
</tr> 
<tr> 
<td><font size="2">E-Mail:</font></td> 
<td><font size="2"><input type="text" name="email" value="">&nbsp;</font></td> 
</tr> 
<tr> 
<td colspan=2 align=center><input type=submit value=Anmelden></td> 
</tr> 
</table> 
</form> 

<? 
} 

} 

?> 

<? 

function forgot ($fertig, $email) 
{ 
include("connect.php"); 

if ($fertig) { 
$abfrage=mysql_query("SELECT * FROM login"); 
while ($row = mysql_fetch_object ($abfrage)) { 
if ($email==$row->email) { $ismail="true"; } 
} 

if ($ismail=="true") { 
$password=mysql_query("SELECT * FROM login WHERE email = '$email'"); 
while ($row = mysql_fetch_object ($password)) { 

$nachricht="Hallo $row->user!nnIhr Passwort ist:nn$row->passwordnnMfGnAdmin"; 
} 

mail($email, "Passwort", $nachricht, "From: Administrator"); 

?> 

<p>Das Passwort wurde Ihnen erfolgreich an die Adresse <i><? echo $email; ?></i> geschickt!<br> 
Rufen Sie Ihre E-Mails ab und loggen Sie sich ein.<br></p> 

<? 
@login(); 
} 

else { echo "Ihre angegebene E-Mail Adresse wurde nicht gefunden!";} 
} 

else { 
echo "<p><h2>Passwort vergessen</h2><p>"; 
echo '<p><form method=post action="'.$PHP_SELF.'?forgot=yes&fertig=yes">'; 

?> 

<table cellspacing="1" cellpadding="2" border="0"> 
<tr><td><font size="2">E-Mail Adresse:</font></td><td align=center><input type=text name=email></td></tr> 
<tr><td colspan="2" align=center><input type=submit value="Schicken!"></td></tr> 
</table></form></p> 

<? 
} 

} 

?> 

<? 

function abmelden($fertig, $user, $password) 
{ 
include ("connect.php"); 
if($fertig) { 
$abfrage = mysql_query ("SELECT * FROM login WHERE user = '$user'"); 
$reihen = mysql_num_rows($abfrage); 

if ($reihen <= 0) { 
echo "Unbekannter Benutzername!"; 
} 

else { 
while ($row = mysql_fetch_object ($abfrage)) { 
if ($row->password==$password) { 
$delete = mysql_query ("DELETE FROM login WHERE user = '$user'"); 
echo "Ihre Daten wurden erfolgreich aus der Datenbank entfernt!"; 
} 

else { 
echo "Falsches Passwort!"; 
} 
} 
} 

} 

else { 
echo "<p><h2>Abmelden</h2></p>"; 
echo '<form method="POST" action="'.$PHP_SELF.'?abmelden=yes&fertig=yes">'; 
?> 

<table cellspacing="1" cellpadding="2" border="0"> 
<tr> 
<td><font size="2">Benutzername:</font></td> 
<td><font size="2"><input type="text" name="user" value="">&nbsp;</font></td> 
</tr> 
<tr> 
<td><font size="2">Passwort:</font></td> 
<td><font size="2"><input type="password" name="password" value=""></font></td> 
</tr> 
<tr> 
<td colspan=2 align=center><input type=submit value=Abmelden></td> 
</tr> 
</table> 
</form> 

<? 
} 

} 

?>


connect.php:
PHP:
<?php 
$mysqlhost = "localhost"; //Servername 
$mysqluser = "webxxxxx"; // Benutzername 
$mysqlpassword = "xxxxxxxx"; // Passwort 
$mysqldb = " xxxxxxxx "; // Datenbankname 
$con= @mysql_connect($mysqlhost,$mysqluser,$mysqlpassword); 
$mysqldb1 = @mysql_select_db($mysqldb,$con); 
?>

logout.php:
PHP:
<a href=“logout.php“ target=“_blank“>Ausloggen</a> 
… und die logout.php: 
<?session_start(); 
if (!session_is_registered('user')) 
{ 
die ("Sie müssen sich einloggen!"); 
} 
$_SESSION = array(); 
if (isset($_COOKIE[session_name()])) { 
setcookie(session_name(), '', time()-42000, '/'); 
} 
session_destroy(); 
echo '<center><br><br><br>Sie haben erfolgreich ausgeloggt!'; ?>

und dashier auf jede Seite zum Schützen der Seiten:
PHP:
<?php 
session_start(); 
if (!session_is_registered('user')) 
{ 
die ("Sie müssen sich einloggen!"); 
} 
?>

Ich hab ne Tabelle bei MySQL angelegt und das Registrieren funktioniert auch mit diesem Script. Gebe ich jetzt allerdings meinen Benutername und mein PW ein und drücke Login, kommt "Dieser Benutzer existiert schon!". Wenn ich auf abmelden drücke, kommt "Die Seite wurde nicht gefunden. Könnt ihr euch das Script mal anschauen und vllt sagen, was ich falsch mach oder so?
Hab leider sehr wenig Ahung von sowas.
schonma Danke
MfG
schlurpsel
 
Hallo bitte folgende Änderung in der index.php vornehmen (im original zeile 65):

Diese Zeile

PHP:
echo '<form method="POST" action="'.$PHP_SELF.'?anmelden=yes&fertig=yes">';

gegen diese Ziele
PHP:
echo '<form method="POST" action="'.$PHP_SELF.'?login=yes&fertig=yes">';

ersetzen, damit ist das Login-Problem gelöst.
 
Ist doch ganz einfach, guck nach allen sql abfragen bsp. SELECT * FROM login WHERE user...
also brauchst du schon mal nee spalte user usw.. (ich war jetzt zu faul alle herauszusuchen^^)

mfg Spikaner
 
Ich hab eine Frage:
Kann mir jemand von euch den fertigen Ordner mit datenbank, login.php,... per E-Mail schicken, weil ich brauche das für meine hp.
Ich hebe aber keine Ahnung von php.
MFG
Hendrik

hendyo@t-online.de
 
Hi
@hendyo: 1, man kann die Datenbank nicht verschicken, die musst du auf deinem Webspace/Webserver haben...
2, Für das Login gibt es einige Tutorials
Das solltest du dir mal durchlesen und das Script probieren, falls du dann immer noch Fragen/Probleme hast, dann kannst du dich ja wieder melden und man wird dir sicher helfen.
lg Alex
 
hey

Ich bin noch neu in der PHP-Welt, ich möchte einen Login machen. Meistens braucht man dafür ein MySQL - Datenbank.
Kann mir bitte jemand erklären wie man eine solche Datenbank macht und / oder wie man das Ganze umgehen kann.

Lg
 
Zurück