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

Registrierformular: Fehler bei if Syntax ???

Status
Für weitere Antworten geschlossen.

axöööl

Neues Mitglied
hi, ich bins mal wieder...
aslo ich wollte ien Registrierungsformular machen, jedoch bekommt man als fehler das zurück:
Code:
[B]Parse error[/B]:  syntax error, unexpected T_IF in [B]/usr/export/www/vhosts/funnetwork/hosting/wsef/www.party-mg.de/inc/reg/insert.php[/B] on line [B]21
[/B]
hier der php code:

PHP:
<?php 

$name = $_POST["name"];
$vorname = $_POST["vorname"];
$user_name = $_POST["user_name"];
$user_pass = $_POST["user_pass"];
$user_pass2 = $_POST["user_pass2"];
$user_mail = $_POST["user_mail"];
$user_mail2 = $_POST["user_mail2"];
$dd = $_POST["dd"];
$mm = $_POST["mm"];
$yyyy = $_POST["yyyy"];
$plz = $_POST["plz"];
$since = time();
$activ = "0"


if($user_mail == "$user_mail2" && $user_pass == "$user_pass2")
  {
   if($user_name == "" OR $user_mail == "" OR $user_pass == "" OR $name == "" OR $vorname == "" OR $plz == "")
     {
      echo "Eingabefehler. Bitte alle Felder korekt ausfüllen. <a href=\"?class=reg\">Zurück</a>";
      exit;
     }
 else 
     {
      $user_pass = md5($user_pass);
      $result = mysql_query("SELECT id FROM 'user' WHERE 'user_name' = '$user_name'");
      $menge = mysql_num_rows($result);
      if($menge == 0)
        {
         $result = mysql_query("SELECT id FROM 'user' WHERE 'user_mail' = '$user_mail'");
         $menge = mysql_num_rows($result);
         if($menge == 0)
           {
            $eintrag = "INSERT INTO user (user_name, user_pass, user_mail, dd, mm, yyyy, name, vorname, plz, single, what, motto, movie, music, book, club, bar_cafe, about, like, not_like, wish, since, lastlog, activ) VALUES ('$user_name', '$user_pass', '$user_mail', '$dd', '$mm', '$yyyy', '$name', '$vorname', '$plz', '$single', '$what', '$motto', '$movie', '$music', '$book', '$club', '$bar_cafe', '$about', '$like', '$not_like', '$wish', '$since', '$lastlog', '$activ')";
            $eintragen = mysql_query($eintrag);
            if($eintragen == true)
              {
               echo "Dein Account wurde erstellt. Du bekommt jetzt eine Email mit einem Aktivirungslink. <a href=\"?class=login\">Login</a>";
               $inhalt = "Dein Account wurde erfolgreich erstellt. Viel Spass bei <a href="http://" TARGET="_blank">LINK</a>!<br>
                          Hier der Aktiierungslink: <a href="http://index.php?class=login&section=activate&id=$user_name">http://index.php?class=login&section=activate&id=$user_name</a>!";
               mail('$user_mail',www.xy.de,$inhalt,Account wurde aktiviert!);
              }
          else
              {
               echo "Fehler beim Speichern. Versuche es später nocheinmal oder kotaktiere den Webmaster. <a href=\"?class=reg\">Zurück</a>";
              }
           }
       else   
           {
            echo "Diese Emailadresse wurde schon verwendet. <a href=\"?class=reg\">Zurück</a>";
           }
        }
    else
        {
         echo "Benutzername schon vorhanden. <a href=\"?class=reg\">Zurück</a>";
        }
     }
 else
     {  
      echo "Eingabefehler. Bitte alle Felder korekt ausfüllen. <a href=\"?class=reg\">Zurück</a>";
      exit;
     } 
   }
?>
danke für eure hilfe!
 
Werbung:
du hast ein Fehler in deiner IF Syntax such am besten ob du ein "{" oder "}" übersehen.
Tipp: Sortier besser die If's ist zwar geschmackssache aber ich würde das so machen (Keine Frage jeder macht es wie er will)
PHP:
if ($Bedingung == true)
{
    echo $Befehle;
}
Ist aber nur nen Tipp ;)

greez web_spider :D
 
ne, find ich nicht, und sortiert hab ichs ja, ich finds eigentlich ziemlich überischtlich, habs aber jetzt mal in eine if abfrage gepackt^^

PHP:
<?php 

$name = $_POST["name"];
$vorname = $_POST["vorname"];
$user_name = $_POST["user_name"];
$user_pass = $_POST["user_pass"];
$user_pass2 = $_POST["user_pass2"];
$user_mail = $_POST["user_mail"];
$user_mail2 = $_POST["user_mail2"];
$dd = $_POST["dd"];
$mm = $_POST["mm"];
$yyyy = $_POST["yyyy"];
$plz = $_POST["plz"];
$since = time();
$activ = "0"


if($user_mail != "$user_mail2" OR $user_pass != "$user_pass2" OR $user_name == "" OR $user_mail == "" OR $user_pass == "" OR $name == "" OR $vorname == "" OR $plz == "")
  {
      echo "Eingabefehler. Bitte alle Felder korekt ausfüllen. <a href=\"?class=reg\">Zurück</a>";
      exit;
  }
 else 
     {
      $user_pass = md5($user_pass);
      $result = mysql_query("SELECT id FROM 'user' WHERE 'user_name' = '$user_name'");
      $menge = mysql_num_rows($result);
      if($menge == 0)
        {
         $result = mysql_query("SELECT id FROM 'user' WHERE 'user_mail' = '$user_mail'");
         $menge = mysql_num_rows($result);
         if($menge == 0)
           {
            $eintrag = "INSERT INTO user (user_name, user_pass, user_mail, dd, mm, yyyy, name, vorname, plz, single, what, motto, movie, music, book, club, bar_cafe, about, like, not_like, wish, since, lastlog, activ) VALUES ('$user_name', '$user_pass', '$user_mail', '$dd', '$mm', '$yyyy', '$name', '$vorname', '$plz', '$single', '$what', '$motto', '$movie', '$music', '$book', '$club', '$bar_cafe', '$about', '$like', '$not_like', '$wish', '$since', '$lastlog', '$activ')";
            $eintragen = mysql_query($eintrag);
            if($eintragen == true)
              {
               echo "Dein Account wurde erstellt. Du bekommt jetzt eine Email mit einem Aktivirungslink. <a href=\"?class=login\">Login</a>";
               $inhalt = "Dein Account wurde erfolgreich erstellt. Viel Spass bei <a href="http://" TARGET="_blank">LINK</a>!<br>
                          Hier der Aktiierungslink: <a href="http://index.php?class=login&section=activate&id=$user_name">http://index.php?class=login&section=activate&id=$user_name</a>!";
               mail('$user_mail',www.url.de,$inhalt,Account wurde aktiviert!);
              }
          else
              {
               echo "Fehler beim Speichern. Versuche es später nocheinmal oder kotaktiere den Webmaster. <a href=\"?class=reg\">Zurück</a>";
              }
           }
       else   
           {
            echo "Diese Emailadresse wurde schon verwendet. <a href=\"?class=reg\">Zurück</a>";
           }
        }
    else
        {
         echo "Benutzername schon vorhanden. <a href=\"?class=reg\">Zurück</a>";
        }
     }

   
?>
 
Werbung:
also wie schon oft liegts nicht daran, was einem als fehler zurückgegeben wird, sondern es fehlte nur ein simikolon... aber hab jetzt nen neuen fehler und zwar:
Code:
[B]Warning[/B]:  mysql_num_rows(): supplied argument is not a valid MySQL result resource in [B]/usr/export/www/vhosts/funnetwork/hosting/wsef/www.party-mg.de/inc/reg/insert.php[/B] on line [B]29[/B]

[B]Warning[/B]:  mysql_num_rows(): supplied argument is not a valid MySQL result resource in [B]/usr/export/www/vhosts/funnetwork/hosting/wsef/www.party-mg.de/inc/reg/insert.php[/B] on line [B]33[/B]
Fehler beim Speichern. Versuche es später nocheinmal oder kotaktiere den Webmaster. [URL="http://wsef.ws.funpic.de/www.party-mg.de/?class=reg"]Zurück[/URL]
hier mla der geänderte code:
PHP:
<?php 

$name = $_POST["name"];
$vorname = $_POST["vorname"];
$user_name = $_POST["user_name"];
$user_pass = $_POST["user_pass"];
$user_pass2 = $_POST["user_pass2"];
$user_mail = $_POST["user_mail"];
$user_mail2 = $_POST["user_mail2"];
$dd = $_POST["dd"];
$mm = $_POST["mm"];
$yyyy = $_POST["yyyy"];
$plz = $_POST["plz"];
$since = time();
$activ = "0";


if($user_mail != "$user_mail2" OR $user_pass != "$user_pass2" OR $user_name == "" OR $user_mail == "" OR $user_pass == "" OR $name == "" OR $vorname == "" OR $plz == "")
  {
      echo "Eingabefehler. Bitte alle Felder korekt ausfüllen. <a href=\"?class=reg\">Zurück</a>";
      exit;
  }
 else 
     {
      $result = mysql_query("SELECT 'user_id' FROM 'user' WHERE 'user_name' = '$user_name'");
      $menge = mysql_num_rows($result);
      if($menge == 0)
        {
         $result2 = mysql_query("SELECT 'user_id' FROM 'user' WHERE 'user_mail' = '$user_mail'");
         $menge2 = mysql_num_rows($result2);
         if($menge2 == 0)
           {
            $user_pass = md5($user_pass);
            $eintrag = "INSERT INTO user (user_name, user_pass, user_mail, dd, mm, yyyy, name, vorname, plz, single, what, motto, movie, music, book, club, bar_cafe, about, like, not_like, wish, since, lastlog, activ) VALUES ('$user_name', '$user_pass', '$user_mail', '$dd', '$mm', '$yyyy', '$name', '$vorname', '$plz', '$single', '$what', '$motto', '$movie', '$music', '$book', '$club', '$bar_cafe', '$about', '$like', '$not_like', '$wish', '$since', '$lastlog', '$activ')";
            $eintragen = mysql_query($eintrag);
            if($eintragen == true)
              {
               echo "Dein Account wurde erstellt. Du bekommt jetzt eine Email mit einem Aktivirungslink. <a href=\"?class=login\">Login</a>";
               $inhalt = "Dein Account wurde erfolgreich erstellt. Viel Spass bei <a href=http://www.google.de>LINK</a>! Hier der Aktiierungslink: <a href=http://index.php?class=login&section=activate&id=$user_name>http://index.php?class=login&section=activate&id=$user_name</a>!";
               mail('$user_mail','http://www.google.de','$inhalt','Account wurde aktiviert!');
              }
          else
              {
               echo "Fehler beim Speichern. Versuche es später nocheinmal oder kotaktiere den Webmaster. <a href=\"?class=reg\">Zurück</a>";
              }
           }
       else   
           {
            echo "Diese Emailadresse wurde schon verwendet. <a href=\"?class=reg\">Zurück</a>";
           }
        }
    else
        {
         echo "Benutzername schon vorhanden. <a href=\"?class=reg\">Zurück</a>";
        }
     }

   
?>
 
Werbung:
also zu fregen ob mysql_num_rows == 0 ist ist schwachsinn
schreib einfach
PHP:
if(mysql_num_rows($qry)){ // befehl }

und dan zu fragen ob mysql_query == true ist ^^ da kannst das genau so machen
PHP:
if(mysql_query($sql)){ // befehl }

weiß nicht ob dir das jetzt geholfen hat aber es macht deinen code auf jedenfall schneller ;)

MFG
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben