Registrierung per PHP

Steeven

Mitglied
Hi,

ich hab ein Problem und weiß nicht wo der Fehler liegt.
Ich möchte daß sich ein Kunde erst registriert. Nun hab ich das mit dem Formular gemacht, aber er trägt mir den Kunde nicht in die Datenbank ein.
Was ist da falsch? Kann da einer mal rüberschauen?

Steeven


PHP:
<!---------------------------------------
                Sessions
----------------------------------------->

<?
session_name("deli-city-food");
session_start();
$sid=session_id();

include"zugang.php";
mysql_connect("$DBHost","$DBUser","$DBPass");?>

<script language="JavaScript">

  function chkFormular()

  {

   if(document.Formular.Name.value == "")

    {

     alert("Bitte Namen eingeben.");

     document.Formular.Name.focus();

     return false;

    }

	if(document.Formular.Vorname.value == "")

    {

     alert("Bitte Vorname eingeben");

     document.Formular.Vorname.focus();

     return false;

    }

   if(document.Formular.Telefon.value == "")

    {

     alert("Bitte Ihre Telefonnummer eingeben");

     document.Formular.Telefon.focus();

     return false;

    }

	if(document.Formular.Strasse.value == "")

    {

     alert("Bitte Strasse angeben");

     document.Formular.Strasse.focus();

     return false;

    }

	if(document.Formular.PLZ.value == "")

    {

     alert("Bitte PLZ angeben");

     document.Formular.PLZ.focus();

     return false;

    }

   if(document.Formular.Ort.value == "")

    {

     alert("Bitte den Ort eingeben");

     document.Formular.Ort.focus();

     return false;

    }

	if(document.Formular.email.value == "")

    {

     alert("Bitte die E-Mail Adresse eingeben");

     document.Formular.email.focus();

     return false;

    }

  if(document.Formular.email.value.indexOf('@') == -1)

    {

     alert("Dies ist keine gültige E-Mail-Adresse!");

     document.Formular.email.focus();

     return false;

    }

	if(document.Formular.pass1.value == "")

    {

     alert("Bitte geben Sie ein Passwort ein");

     document.Formular.pass1.focus();

     return false;

    }

	if(document.Formular.pass2.value == "")

    {

     alert("Bitte wiederholen Sie Ihre Passwort Eingabe");

     document.Formular.pass2.focus();

     return false;

    }

  }

//-->

</script>

<link href="farben.css" rel="stylesheet" type="text/css">

<body bgcolor="#FFFFFF" text="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr> 
          <td colspan="2"> <table width="100%" border="0" cellpadding="0" cellspacing="0">
              <tr> 
                <td height="12"><?php ?></td>
              </tr>
              <tr bgcolor="FFFFCF"> 
                <td height="20" align="right" bgcolor="336699"> 
                  <div align="left" class="normaleschrift">&nbsp;<strong>Neuregistrierung:</strong></div></td>
              </tr>         
</table>
<table>
	<tr>
		<td> <form method="post" action="Registrierung.php" onSubmit="return chkFormular();" name="Formular">
		<? if (($Name & $Strasse & $PLZ & $Ort & $email & $pass1 & $pass2) and ($pass1 == $pass2)){ 

 			$Passwort=$pass1;
			include("zugang.php");

			mysql_connect("$DBHost","$DBUser","$DBPass");
			$Datum= date("Y-m-d");
			$result=mysql_query("$DBName","INSERT INTO kunde (Anrede,Firma,Name,Vorname,Strasse,PLZ,Ort,Land,Telefon,email,Passwort,Newsletter,Datum) values('$Anrede','$Firma','$Name','$Vorname','$Strasse','$PLZ','$Ort','$Land','$Telefon','$email','$Passwort','$Newsletter','$Datum')")or die (mysql_error());
			?>
			<table width="551" border="0" cellpadding="0" cellspacing="0" align="center" height="30" bordercolor="ffffff">
				<tr>
					<td><font color="#000000">Sie wurden erfolgreich registriert.</font></td>
				</tr>
			</table>
			<? }
			else{
			?>
		 	<table width="551" border="0" cellpadding="0" cellspacing="0" align="center" height="369" bordercolor="336699">
                <tr> 
                  <td colspan="2" bgcolor="336699"><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif"><strong>&nbsp;Ihre 
                    Rechnungsanschrift:</strong></font></td>
                </tr>
                <tr> 
                  <td width="29%" bgcolor="#336699"><strong><font face="Arial, Helvetica, sans-serif" size="2">&nbsp;Anrede:</font></strong></td>
                  <td width="71%" bgcolor="#336699"> <font color="#000000" face="Arial, Helvetica, sans-serif" size="2">Herr: 
                    <input name="Anrede" type="radio" value="Herr" <? if($Anrede==Herr){echo"checked";}?>>
                    Frau: 
                    <input type="radio" name="Anrede" value="Frau"<? if($Anrede==Frau){echo"checked";}?>>
                    </font></td>
                </tr>
                <tr> 
                  <td width="29%" height="19" bgcolor="#336699"><strong><font face="Arial, Helvetica, sans-serif" size="2">&nbsp;Firma:</font></strong></td>
                  <td width="71%" height="19" bgcolor="#336699"> <strong><font color="#000000" face="Arial, Helvetica, sans-serif" size="2"> 
                    <input type="text" name="Firma" value="<? echo"$Firma"; ?>">
                    </font></strong></td>
                </tr>
                <tr> 
                  <td width="29%" height="19" bgcolor="#336699"><strong><font face="Arial, Helvetica, sans-serif" size="2">&nbsp;Name:</font></strong></td>
                  <td width="71%" height="19" bgcolor="#336699"> <strong><font color="#000000" face="Arial, Helvetica, sans-serif" size="2"> 
                    <input type="text" name="Name" value="<? echo"$Name"; ?>">
                    *</font></strong></td>
                </tr>
                <tr> 
                  <td width="29%" bgcolor="#336699"><strong><font face="Arial, Helvetica, sans-serif" size="2">&nbsp;Vorname:</font></strong></td>
                  <td width="71%" bgcolor="#336699"> <strong><font color="#000000" face="Arial, Helvetica, sans-serif" size="2"> 
                    <input type="text" name="Vorname" value="<? echo"$Vorname";?>">
                    * </font></strong></td>
                </tr>
                <tr> 
                  <td width="29%" bgcolor="#336699"><strong><font face="Arial, Helvetica, sans-serif" size="2">&nbsp;Telefon:</font></strong></td>
                  <td width="71%" bgcolor="#336699"> <strong><font color="#000000" face="Arial, Helvetica, sans-serif" size="2"> 
                    <input type="text" name="Telefon" value="<? echo"$Telefon";?>">
                    *</font></strong></td>
                </tr>
                <tr> 
                  <td width="29%" bgcolor="#336699"><strong><font face="Arial, Helvetica, sans-serif" size="2">&nbsp;Strasse 
                    /Nr</font></strong></td>
                  <td width="71%" bgcolor="#336699"> <strong><font color="#000000" face="Arial, Helvetica, sans-serif" size="2"> 
                    <input type="text" name="Strasse" value="<? echo"$Strasse";?>">
                    *</font></strong></td>
                </tr>
                <tr bgcolor="AFAF6E"> 
                  <td width="29%" bgcolor="#336699"><strong><font face="Arial, Helvetica, sans-serif" size="2">&nbsp;PLZ:</font></strong></td>
                  <td width="71%" bgcolor="#336699"> <strong><font color="#000000" face="Arial, Helvetica, sans-serif" size="2"> 
                    <input type="text" name="PLZ" value="<? echo"$PLZ";?>">
                    *</font></strong></td>
                </tr>
                <tr> 
                  <td width="29%" height="11" bgcolor="#336699"> <p><strong><font face="Arial, Helvetica, sans-serif" size="2">&nbsp;Wohnort:</font></strong></p></td>
                  <td width="71%" height="11" bgcolor="#336699"> <strong><font color="#000000" face="Arial, Helvetica, sans-serif" size="2"> 
                    <input type="text" name="Ort" value="<? echo"$Ort";?>">
                    *</font></strong></td>
                </tr>
                <tr> 
                  <td width="29%" bgcolor="#336699"><strong><font face="Arial, Helvetica, sans-serif" size="2">&nbsp;Land:</font></strong></td>
                  <td width="71%" bgcolor="#336699"> <strong><font color="#000000" face="Arial, Helvetica, sans-serif" size="2"> 
                    <input type="text" name="Land" value="Deutschland">
                    *</font></strong></td>
                </tr>
                <tr> 
                  <td width="29%" bgcolor="#336699"><strong><font face="Arial, Helvetica, sans-serif" size="2">&nbsp;E-mail</font></strong></td>
                  <td width="71%" bgcolor="336699"> <strong><font color="#000000" face="Arial, Helvetica, sans-serif" size="2"> 
                    <input type="text" name="email" value="<? echo"$email";?>">
                    *</font></strong></td>
                </tr>
                <tr> 
                  <td width="29%" bgcolor="#336699"><strong>&nbsp;</strong></td>
                  <td width="71%" bgcolor="336699"><font color="#000000">&nbsp;</font> 
                  </td>
                </tr>
                <tr> 
                  <td width="29%" bgcolor="#336699"><strong><font face="Arial, Helvetica, sans-serif" size="2">&nbsp;Newsletter</font></strong></td>
                  <td width="71%" bgcolor="336699"> <strong><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"> 
                    ja: 
                    <input name="Newsletter" type="radio" value="1" checked>
                    nein: 
                    <input type="radio" name="Newsletter" value="0">
                    </font></strong></td>
                </tr>
                <tr> 
                  <td colspan="2" bgcolor="336699"><strong><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">&nbsp;Felder 
                    mit * m&uuml;ssen ausgef&uuml;llt werden </font></strong></td>
                </tr>
                <tr> 
                  <td colspan="2" height="62"> <table width="100%" border="0" cellpadding="0" cellspacing="0" align="center">
                      <tr> 
                        <td height="81" valign="top"> <div align="right"> 
                            <table width="65%" border="0" align="center" cellpadding="0" cellspacing="0">
                              <tr> 
                                <td bgcolor="#336699" height="39"> <div align="right"><strong><font face="Arial, Helvetica, sans-serif" size="2">Passwort:&nbsp;</font></strong></div></td>
                                <td bgcolor="336699" align="center" height="39" valign="middle"> 
                                  <strong><font color="#FFFFFF" face="Arial, Helvetica, sans-serif" size="2"> 
                                  <input type="password" name="pass1">
                                  </font><font face="Arial, Helvetica, sans-serif" size="2">*</font><font color="#FFFFFF" face="Arial, Helvetica, sans-serif" size="2"><font color="#000000"> 
                                  </font></font></strong></td>
                              </tr>
                              <tr> 
                                <td bgcolor="#336699" height="41"> <div align="right"><strong><font face="Arial, Helvetica, sans-serif" size="2">Passwort-Wiederholung:</font><font color="#FFFFFF" face="Arial, Helvetica, sans-serif" size="2">&nbsp; 
                                    </font></strong></div></td>
                                <td bgcolor="336699" align="center" height="41" valign="middle"> 
                                  <strong><font color="#FFFFFF" face="Arial, Helvetica, sans-serif" size="2"> 
                                  <input type="password" name="pass2">
                                  </font><font face="Arial, Helvetica, sans-serif" size="2"> 
                                  *</font><font color="#FFFFFF" face="Arial, Helvetica, sans-serif" size="2"> 
                                  </font></strong></td>
                              </tr>
                            </table>
                          </div></td>
                      </tr>
                    </table></td>
                </tr>
          </table>
				<div align="center"><input name="IMAGE" type="IMAGE" src="../scripte/pic/buttons_abschicken.gif" align="top" width="133" height="25"></div>
          		        
              
             </form>     
		<? } ?>
		</tr>
</table>
		
	</body>

</html>
 
PHP:
$result=mysql_query("$DBName","INSERT INTO kunde (Anrede,Firma,Name,Vorname,Strasse,PLZ,Ort,Land,Telefon,email,Passwort,Newsletter,Datum) values('$Anrede','$Firma','$Name','$Vorname','$Strasse','$PLZ','$Ort','$Land','$Telefon','$email','$  Passwort','$Newsletter','$Datum')")or die (mysql_error());
Oben angegebener Befehl ist falsch. Erst die Query, dann die Datenbank.
Also:
PHP:
$result=mysql_query("INSERT INTO kunde (Anrede,Firma,Name,Vorname,Strasse,PLZ,Ort,Land,Telefon,email,Passwort,Newsletter,Datum) values('$Anrede','$Firma','$Name','$Vorname','$Strasse','$PLZ','$Ort','$Land','$Telefon','$email','$  Passwort','$Newsletter','$Datum')",$DBName)or die (mysql_error());
 
Darüber hinaus sind noch einige stilistische "Schnitzer" in dem Code:

1) Variablen die man an eine Funktion übergibt, gehören nicht in Anführungszeichen. Genau das machst du aber bei mysql_connect()

2) Sämtliche mysql_ Funktionen sollte man in der Entwicklungsphase mit angehängtem or die(mysql_error()) so modifizieren, dass sie bei eventuellen Fehlern diese prompt ausspucken.

3) Ein einfaches kaufmännisches Und (&) ist ein Bitwise-Operator und irgendwie kann ich, wenn ich mir den Code angucke, nicht glauben, dass du den nutzen willst. Ich denke ein doppeltes kaufmännisches Und (&&) erfüllt da eher den von dir angestrebten Nutzen.
 
hi, danke, habs umgeändert, aber leider trotzdem keinen Erfolg, er macht es trotzdem nicht, obwohl er die Verbindung zur Datenbank hat und auch alles richtig ist.
 
also er geht nicht in die if Schleife rein, so scheint mir das jedenfalls.
Habs schon umgeändert mit einem kaufmännischem Und.

Da muss was anderes falsch sein.
 
1) Es gibt keine If-Schleife. If ist eine Kontrollstruktur, bzw. eine Abfrage.

2) Du hast wohl noch nie was von register_globals=off gehört. Du wirst deine per Post übergebenen Variablen per $_POST['varname'] ansprechen müssen. ;) und nicht per $varname.
 
PHP:
<!---------------------------------------
                Sessions
----------------------------------------->

<?
session_name("deli-city-food");
session_start();
$sid=session_id();
Öhm, vor session_start darf doch normalerweise keine Ausgabe an den Browser erfolgen ...
 
hä?
hab ich jetzt nicht verstanden.

Seit PHP 4.2 kann man standartmäßig(gabs auch schon vorher nur selten aktiviert) aus Formularen übergebene Daten nicht mehr mit $varname ansprechen sondern nur noch per $_POST['varname'] oder halt per $_GET['varname'].


Öhm, vor session_start darf doch normalerweise keine Ausgabe an den Browser erfolgen ...

Stimmt der Kommantar darf nicht davor stehen.
 
Zuletzt bearbeitet:
Zurück