Probleme mit der Datenbankabfrage bei der Registrierung

LarsB

Mitglied
Ich weiß nicht was ich in dem folgendem Script falsch habe. Habe es aus diesem Forum und nach meinen wünschen geändert.

PHP:
<?php
// Vom benutzer eingegebene Daten "einlesen"
$user_benutzername=$_POST['Benutzername']; 
$user_benutzername=$_POST['Benutzername']; 
$user_e-mail=$_POST['E-mail']; 
$user_passwort=$_POST['Passwort']; 


// MySQL Zugangsdaten
define("MYSQL_HOST", "localhost");
define("MYSQL_USER","xxxxx");
define("MYSQL_PASS", "xxxxx");
define("MYSQL_DATA", "xxxxx");

// MySQL Datenbankverbindung herstellen und Datenbank auswählen
$mysql_db_connect = mysql_connect(localhost, xxxx, xxxx) 
                    OR die("Error: ".mysql_error());
$mysql_db_select  = mysql_select_db(xxxx) 
                    OR die("Error: ".mysql_error());

if(isset($_POST['submit']) AND $_POST['submit']=='Registrieren')
{
    // Fehlerarray anlegen
    $errors = array();
    
    // Prüfen, ob alle Formularfelder vorhanden sind
    if(stlen($user_name,
              $user_benutzername,
              $user_e-mail,
              $user_passwort)
               < 1)
    {
        // Ein Element im Fehlerarray hinzufügen
        $errors = "Bitte benutzen Sie das Formular aus dem Registrierungsbereich";
    }   
    else
    {
        // Prüfung der einzelnen obligatorischen Felder
        // Alle Nicknames und Emailadressen zum Vergleich aus der Datenbank holen
        $nicknames = array();
        $emails = array();
        $sql = "SELECT Nickname,Email FROM User WHERE Nickname = '$user_nickname' AND Email = '$user_email'";
        
        $pruefe_nickname_email = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
        
        if ($pruefe_nickname_email)
        {
            $pruefe_nickname_email_row = mysql_num_rows($pruefe_nickname_email);
            
            if ($pruefe_nickname_email_row > 1)
            {
                echo "Der eingegebene Nick bzw. eMailadresse werden schon verwendet";
            }
            else
            {
                $sql_registrieren = "INSERT INTO User (Name,Benutzername,E-Mail)
                                    VALUES('$user_Name', '$user_Benutzername', '$user_E-Mail', '$user_Passwort
                                    'CURDATE()')"; 
                
                $register_start_query = mysql_query($sql_registrieren);
                
                if ($register_start_query)
                {
                    echo "Vielen Dank!\n<br>".
                         "Ihr Accout wurde erfolgreich erstellt.\n<br>".
                         "Sie können sich nun mit Ihren Daten einloggen.\n<br>".
                         "<a href=\"login.php\">Zum Login</a>\n";
                }
                else
                {
                    echo "Bei der Registrierung trat ein Fehler auf!";
                }
            }
        }
    }
}
else
{        
echo "<form ".
" name=\"Registrierung\" ".
" action=\"".$_SERVER['PHP_SELF']."\" ".
" method=\"post\" ".
" accept-charset=\"ISO-8859-1\">\n";
echo "<h5>Pflicht Angaben</h5>\n";
echo "<span style=\"font-weight:bold;\" ".
" title=\"min.3\nmax.32\nNur Zahlen, Buchstaben und Unterstrich\">\n".
"Benutzername :\n".
"</span>\n";
echo "<input type=\"text\" name=\"Benutzername\" maxlength=\"32\">\n";
echo "<br>\n";
echo "<span style=\"font-weight:bold;\" ".
" title=\"min.6\">\n".
"Passwort :\n".
"</span>\n";
echo "<input type=\"password\" name=\"Passwort\">\n";
echo "<br>\n";
echo "<span style=\"font-weight:bold;\" ".
" title=\"min.6\">\n".
"Passwort wiederholen:\n".
"</span>\n";
echo "<input type=\"password\" name=\"Passwortwiederholung\">\n";
echo "<br>\n";
echo "<span style=\"font-weight:bold;\" ".
" title=\"Ihre.Adresse@Ihr-Anbieter.de\">\n".
"E-Mail:\n".
"</span>\n";
echo "<input type=\"text\" name=\"E-Mail\" maxlength=\"70\">\n";
echo "<br>\n";
echo "<span>\n".
"Name:\n".
"</span>\n";
echo "<input type=\"text\" name=\"Name\" maxlength=\"16\">\n;
echo "<br>\n";
echo "<span style=\"font-weight:bold;\">\n".
}
?>

Hinweiß: Angezeigter Fehler: Parse error: syntax error, unexpected T_VARIABLE in [..]/Registrierung.php on line 3

über eine Hilfe/Problembehebung würde ich mich freuen!

Lars
 
Zuletzt bearbeitet:
Hallo,

was genau funktioniert denn nicht?
wie ich sehe hast du am Anfang 2 mal $user_benutzername=$_POST['Benutzername']; aber '$user_Name' wird nicht befüllt.
Ich hab dein Script jetzt nicht getestet,es ist mir beim darüber schauen aufgefallen.
 
Hallo,

was genau funktioniert denn nicht?
wie ich sehe hast du am Anfang 2 mal $user_benutzername=$_POST['Benutzername']; aber '$user_Name' wird nicht befüllt.
Ich hab dein Script jetzt nicht getestet,es ist mir beim darüber schauen aufgefallen.

erstmal herzlichen Dank für deine Hilfe!

Also sobald ich dann auf Registrieren klicke wird mir der Fehler genannt den ich oben beschrieben habe.
in meinem verwendeten Script ist dies dann auch behoben ;)

Naja ich hoffe das du mir da dennoch weiterhilfen kannst!

Liebe Grüße
 
hab ein bisschen umgebaut, da waren mehr Fehler drin, als man sich denken kann ^^

perfekt ist es nicht Passwort check und und und...., aber wenn du dir den Code anschaust, solltest du den Rest selbst schaffen.

Die Felder in der DB musst du vielleicht noch an deine anpassen.

PHP:
<?php

// MySQL Zugangsdaten
define("MYSQL_HOST", "localhost");
define("MYSQL_USER","xxxxx");
define("MYSQL_PASS", "xxxxx");
define("MYSQL_DATA", "xxxxx");

// MySQL Datenbankverbindung herstellen und Datenbank auswählen
$mysql_db_connect = mysql_connect(localhost, xxxx, xxxx) 
                    OR die("Error: ".mysql_error());
$mysql_db_select  = mysql_select_db(xxxx) 
                    OR die("Error: ".mysql_error());

// Vom benutzer eingegebene Daten "einlesen"
$user_name=$_POST['Name']; 
$user_benutzername=$_POST['Benutzername']; 
$user_email=$_POST['Email']; 
$user_passwort=$_POST['Passwort']; 

if(isset($_POST['submit']) AND $_POST['submit']=='Registrieren')
{    
    // Prüfen, ob alle Formularfelder vorhanden sind
    if($user_name == "" or $user_benutzername == "" or $user_email == "" or $user_passwort == "")
    {
        // Ein Element im Fehlerarray hinzufügen
        echo "Bitte benutzen Sie das Formular aus dem Registrierungsbereich";
		exit()  ;  
	}  
	//check username
	$checkuser = mysql_query("SELECT Nickname FROM User WHERE Nickname ='$user_benutzername'");
	$username_exist = mysql_num_rows($checkuser);
	if($username_exist > 0){
		echo "I'm sorry but the username you specified has already been taken.  Please pick another one.";
		exit();
	}
	//checkmail
	$mailcheck = mysql_query("SELECT EMail  FROM User WHERE EMail ='$user_email'");
	$mail_exist = mysql_num_rows($mailcheck);
	if($mail_exist > 0){
		echo"I'm sorry but the mail adress you entered has already been taken.  Please pick another one.";
		exit();					
			}	


$sql = "INSERT INTO User (Nickname, Benutzername, Email, Passwort, Date)
VALUES('$user_benutzername', '$user_name', '$user_email','$user_passwort', NOW() )";
mysql_query($sql) or die(mysql_error());
echo "Your account has been made";
}
else
{        
echo'
<form name="Registrierung" action="'.$_SERVER['PHP_SELF'].'" method="post" accept-charset="ISO-8859-1">
<h5>Pflicht Angaben</h5>
<span style="font-weight:bold;" title="min.3 max.32 Nur Zahlen, Buchstaben und Unterstrich">
Benutzername :</span>
<input type="text" name="Benutzername" maxlength="32"><br>
<span style="font-weight:bold;" title="min.6">Passwort :</span>
<input type="password" name="Passwort"><br>
<span style="font-weight:bold;" title="min.6">Passwort wiederholen:</span>
<input type="password" name="Passwortwiederholung"><br>
<span style="font-weight:bold;" title="Ihre.Adresse@Ihr-Anbieter.de">E-Mail:</span>
<input type="text" name="Email" maxlength="70"><br>
<span>Name:</span>
<input type="text" name="Name" maxlength="16"><br>
<input type="submit" name="submit" value="Registrieren">
<span style="font-weight:bold;">';
}
?>
 
Zuletzt bearbeitet:
Zurück