• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Login Benutzer prüfen ?

Niklas

Neues Mitglied
Hallo,

Nachdem ich alles mit den Rechten und Urheberrechten abgesprochen habe kann ich jetzt ja mit meiner Seite weitermachen :D

Für mein Login Sytem fehlt mir noch :

Prüfen ob es den Benutzer schon gibt !
Passwort zu kurz
Und nicht erlaubte Zeichen
E-mail abfrage brauch ich nicht !

Und kann man es hinbekommen das jeder User eine eigene Seite bekommt ?

z.b wen der User Niklas heißt welt-der-browsergames/user/Niklas

FG Niklas
 
Passwort zu kurz oder zu lang kannst du mit diesem Code testen
Hier darf das Passwort nur 3-30 Zeichen enthalten und nur Buchstaben und Zahlen enthalten

PHP:
 if (!preg_match("/^[0-9a-zA-Z_]{3,30}$/", $password)) 
{  
header ("Location:anmeldung.php?fehler=falsche_Angabe");
die;
}

und damit testest du , ob der Benutzer schon in der Datenbank ist,der Code muß in die Datei register.php

PHP:
$query = "SELECT name  FROM benutzerdaten WHERE name = '$name'";
    $sql = mysql_query($query);
 if (mysql_num_rows($sql) == 1) { 
header ("Location:anmeldung.php?fehler=benutzer_vorhanden");
 die; }
 
Hallo,

register.php

Code:
   <?php 
$dz= mysql_connect ("db2107.1und1.de","dbo298973705", "5******");  
if (!mysql_select_db("db298973705", $dz))
{  
  die ("Keine Verbindung zur Datenbank");  
 }
$name = strip_tags($_POST['name']); 
$kennwort =strip_tags($_POST['pwd']);
$sql=mysql_query("INSERT INTO benutzerdaten (Nickname,Kennwort,Nachname ,Vorname) VALUES('$name', md5('$kennwort') ,'test','test')");
if ($sql==1) {echo "Neuer Benutzer $name wurde erfolgreich angemeldet."   ;}
else echo "Neuer Benutzer wurde nicht angemeldet." ; 
$query = "SELECT name  FROM benutzerdaten WHERE name = '$name'";
    $sql = mysql_query($query);
 if (mysql_num_rows($sql) == 1) { 
header ("Location:anmeldung.php?fehler=benutzer_vorhanden");
 die; }  
?>
Passiert nichts man kann immernoch gleien Namen regestrieren !

anmeldung.php

Code:
<?php session_start (); ?>
<html> 
<head> 
<title>Login</title> 
<link rel="stylesheet" type="text/css" href="../style/teststyle.css" /> 
</head> 
<div id="wrapper">
<body> 
<?php 
if (isset ($_REQUEST["fehler"])) 
{ 
  echo "Die Zugangsdaten waren ungültig."; 
} 
?> 
<form action="register.php" method="post"> 
<label for="inhalt">Nickname</label><br> 
<input type="text" name="name" size="20"><br> 
<label for="inhalt">Kennwort</label><br> 
<input type="password" name="pwd" size="20"><br> 
<input type="submit" value="Fertig"> 
</div>
 if (!preg_match("/^[0-9a-zA-Z_]{3,30}$/", $password)) 
{  
header ("Location:anmeldung.php?fehler=falsche_Angabe");
die;
}  
</form> 
</body> 
</html>
Wir einfach als Text angezeigt hab ich das Falsch eingetragen ?

FG Niklas
 
FALSCH
Die Abfrage , ob das Passwort korrekt ist, muß natürlich erfolgen, bevor
du die Daten in die DB eingibst nicht danach !

PHP:
  <?php 
$dz= mysql_connect ("db2107.1und1.de","dbo298973705", "5******");  
if (!mysql_select_db("db298973705", $dz))
{  
  die ("Keine Verbindung zur Datenbank");  
 }
$name = strip_tags($_POST['name']); 
$kennwort =strip_tags($_POST['pwd']);
$query = "SELECT name  FROM benutzerdaten WHERE Nickname = '$name'";
    $sql = mysql_query($query);
if (mysql_num_rows($sql) == 1) { 
header ("Location:anmeldung.php?fehler=benutzer_vorhanden");
die; }  
if (!preg_match("/^[0-9a-zA-Z_]{3,30}$/", $kennwort)) 
{  
header ("Location:anmeldung.php?fehler=falsche_Angabe");
die;
}  
 
 
$sql=mysql_query("INSERT INTO benutzerdaten (Nickname,Kennwort,Nachname ,Vorname) VALUES('$name', md5('$kennwort') ,'test','test')");
if ($sql==1) {echo "Neuer Benutzer $name wurde erfolgreich angemeldet."   ;}
else echo "Neuer Benutzer wurde nicht angemeldet." ; 
?>

PHP:
<?php session_start (); ?>
<?php
if( $_GET["fehler"]==benutzer_vorhanden)
{$Mitteilung= "Der Benutzer ist schon vorhanden";}
if( $_GET["fehler"]==falsche_Angabe)
{$Mitteilung= "Passwort muß zwischen 3 und 30 Zeichen lang sein, und darf nur Zahlen und Buchstaben enthalten";} ?>
<html> 
<head> 
<title>Login</title> 
<link rel="stylesheet" type="text/css" href="../style/teststyle.css" /> 
</head> 
<div id="wrapper">
<body> 
<?php 
if (isset ($_REQUEST["fehler"])) 
{ 
  echo "Die Zugangsdaten waren ungültig."; 
} 
echo $Mitteilung;
?> 
<form action="register.php" method="post"> 
<label for="inhalt">Nickname</label><br> 
<input type="text" name="name" size="20"><br> 
<label for="inhalt">Kennwort</label><br> 
<input type="password" name="pwd" size="20"><br> 
<input type="submit" value="Fertig"> 
</div>
 
</form> 
</body>
 
Zuletzt bearbeitet:
Danke aber,

Bei dem zu kurzem Passwort wird garnichts angezeigt
Und den Besucher 5555 kann ich so offt erstellen wie ich will!(Steht zumindestens da das er erstellt wurde)

FG Niklas
 
Ich hab nen Fehler gemacht

Der Name heißt ja Nickname, deswegen

Mußt diese Zeile austauschen

PHP:
$query = "SELECT Nickname  FROM benutzerdaten WHERE Nickname = '$name'";
 
Probier es nochmal

PHP:
 <?php 
$dz= mysql_connect ("db2107.1und1.de","dbo298973705", "5******");  
if (!mysql_select_db("db298973705", $dz))
{  
  die ("Keine Verbindung zur Datenbank");  
 }
$name = strip_tags($_POST['name']); 
$kennwort =strip_tags($_POST['pwd']);
$query = "SELECT Nickname  FROM benutzerdaten WHERE Nickname = '$name'";
    $result = mysql_query($query);
if (mysql_num_rows($result) == 1) { 
header ("Location:anmeldung.php?fehler=benutzer_vorhanden");
die; }  
if (!preg_match("/^[0-9a-zA-Z_]{3,30}$/", $kennwort)) 
{  
header ("Location:anmeldung.php?fehler=falsche_Angabe");
die;
}  
 
 
$sql=mysql_query("INSERT INTO benutzerdaten (Nickname,Kennwort,Nachname ,Vorname) VALUES('$name', md5('$kennwort') ,'test','test')");
if ($sql==1) {echo "Neuer Benutzer $name wurde erfolgreich angemeldet."   ;}
else echo "Neuer Benutzer wurde nicht angemeldet." ; 
?>
 
Wie heißt denn der Pfad von der Datei Anmeldung.php , der muß nämlich stimmen, sonst zeigt er den Fehler nicht an
 
Es funktioniert

Man sieht die Meldung nicht, weil der Hintergrund schwarz ist !:D

Mach mal den Hintergrund weiss, dann siehste die Fehler-Meldung
 
Das mit dem Passwort funktioniert jetzt :grin:
Hab doch gesagt das das mit dem Passwort unter 3 Buchstaben funktioniert aber bei dem anderen wird man weitergeleitet und dan steht da der User so und so wurde erstellt :sad:

FG Niklas
 
Stimmt doch gar nicht

Mach mal den Hintergrund weiss

Wenn ich mich registriere mit name xxxx und passwort xxxx , dann
erscheint Benutzer schon vorhanden
 
Schreib mal anmeldung.php so

PHP:
<?php session_start (); ?>
<?php
if( $_GET["fehler"]==benutzer_vorhanden)
{$Mitteilung= "Der Benutzer ist schon vorhanden";}
if( $_GET["fehler"]==falsche_Angabe)
{$Mitteilung= "Passwort muß zwischen 3 und 30 Zeichen lang sein, und darf nur Zahlen und Buchstaben enthalten";} ?>
<html> 
<head> 
<title>Login</title> 
<link rel="stylesheet" type="text/css" href="../style/teststyle.css" /> 
</head> 
<div id="wrapper">
<body> 
<?php 
if (isset ($_REQUEST["fehler"])) 
{ 
  echo "Die Zugangsdaten waren ungültig."; 
} ?>
<font color="red"> <? echo $Mitteilung ?></font>
 
<form action="register.php" method="post"> 
<label for="inhalt">Nickname</label><br> 
<input type="text" name="name" size="20"><br> 
<label for="inhalt">Kennwort</label><br> 
<input type="password" name="pwd" size="20"><br> 
<input type="submit" value="Fertig"> 
</div>
 
</form> 
</body>
 
Zurück
Oben