Parse Error innerhalb Formularauswertung (Schleifen, Variablen?)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Parse Error innerhalb Formularauswertung (Schleifen, Variablen?)

    Nabend,

    schreibe WIEDER einmal an der Auswertung bei nem Formular. Ich bin noch nicht so fit in php und finde deshalb den Fehler nicht.

    Innerhalb des Scripts gibt es Kommentare.

    Fehlermeldung:
    PHP-Code:
    Parse errorsyntax errorunexpected $end in C:\apache\xampp\htdocs\pflege\home\php\mein_problem.php on line 59 
    . Aber warum? (in Zeile 59 steht: "?>")
    Sind es die Schleifen (if, else), oder die Variablen-Bezeichnungen?

    Hier das Script (stark verkürzt, aber alle notwendigen Schleifen und Variablen enthalten):

    PHP-Code:
    <?
    /*Abfrage: Gibt es diesen Benutzernamen schon?*/
    $sql = "SELECT BNAME FROM dbdl WHERE BNAME = '".$_POST['bname']."'";
        $result = mysql_query($sql);
        $result = mysql_num_rows($result);
        if($result >= 1)
        {
             /* J a */
            echo 'Benutzername schon vergeben';
        }
         else
         {
        $fieldempty = 'Felder frei';

        $wrongemail = 'Eingabe Email falsch';

        $ok = "INSERT INTO dbdl (Id, regname, regmail, bname, bkennwort)
                     VALUES
                   ('', '".$_POST['regname']."',
                             '".$_POST['regmail']."',
                            '".$_POST['bname']."',
                '".md5($_POST['bkennwort'])."')";
                        $result = mysql_query($ok);

                        if(!$result){
                        echo 'gesendet!!!!!!';

    /*Abfrage: sind alle Felder ausgefüllt?*/
    $bname = $_POST['bname'];
    $bkennwort = $_POST['bkennwort'];
    $regname = $_POST['regname'];
    $regmail = $_POST['regmail'];

    if ($regname =="" || $regmail =="" || $bname =="" || $bkennwort =="")
        {
        /*nein*/
             echo "$fieldempty";
        }
            else
                {
                /*ja*/
                /*korrekte Verwendung aller Zeichen in eMail?*/
                if (ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$", $regmail))
                    {
                    /*email-schreibweise korrekt!*/
                    $ok ;

                    }
                    else
                    {
                        /*falls nicht:*/
                        echo "$wrongemail";
                    }
            }

    ?>

    Wer hilft mir, bitte?

    a.

  • #2
    du musst deine klammern auch schließen, du öffnest hier eine klammer und schliesst sie nicht:
    PHP-Code:
    //...
    else
         {
        
    $fieldempty 'Felder frei'
    und hier das gleiche nochmal
    PHP-Code:
    if(!$result){
                        echo 
    'gesendet!!!!!!'

    Kommentar


    • #3
      Hallo reallife,

      vielen Dank für die schnelle Antwort!

      habe ich Dich richtig verstanden? Soll ich jeden Fehler in einer extra

      else-Anweisung abhandeln, also so:

      PHP-Code:
      else
           {
          
      $fieldempty 'Felder frei';
              }

      else
              {    
              
      $wrongemail 'Eingabe Email falsch'
              }
      ... 
      oder so:

      PHP-Code:
      else
           {
          
      $fieldempty 'Felder frei';
              
      $wrongemail 'Eingabe Email falsch'
              }
      ... 
      ?

      a.

      Kommentar


      • #4
        wenn dann letztere methode....
        kennst du den Aufbau einer if-Anweisung?
        Code:
        if ( Ausdruck )
        {
          // code..
        }
        if-else-Anweisung:
        Code:
        if ( Ausdruck )
        {
          // code...
        }
        else
        {
          // code..
        }
        Was ich dir damit sagen will, ist, dass wenn du eine geschweifte Klammer öffnest, du nicht vergessen darfst diese auch wieder zu schließen und das wohlmöglich an der richtigen stelle..

        Kommentar


        • #5
          Probieren geht über Studieren. Da hätte ich wohl selber drauf kommen können!

          Es funktioniert.

          Vielen Dank reallife!


          a.

          Kommentar


          • #6
            ACHSO!

            Wie ist das denn wenn ich merhere if-else-Kombinationen hintereinader verwenden möchte?


            Aber vielleicht nicht unter allen Bedingungen. Wie sieht Du das, wenn Du Dir mien Script nohcmal ansiehst? Ist die Abfolge der if-else-Schleifen korrekt?


            a.
            Zuletzt geändert von andrassberlin; 15.02.2006, 21:20.

            Kommentar


            • #7
              Original geschrieben von andrassberlin
              Probieren geht über Studieren. Da hätte ich wohl selber drauf kommen können!

              Es funktioniert.

              Vielen Dank reallife!


              a.
              Dafür nicht, aber da hättest du durchaus auch von alleine drauf kommen können - das nächste mal weisst du bescheid

              Kommentar


              • #8
                Original geschrieben von andrassberlin
                ACHSO!

                Wie ist das denn wenn ich merhere if-else-Kombinationen hintereinader verwenden möchte?

                a.
                Code:
                if ( Ausdruck )
                {
                
                }
                else if ( Ausdruck )
                {
                
                }
                else if ( Ausdruck )
                {
                
                }
                else
                {
                
                }
                Aber für eine solche Anwendung ist auch switch geeignet. Einfach mal im Manual suchen und lesen, hier.

                Kommentar


                • #9
                  Das ist sehr interessant! Ich werde es mir mal näher ansehen.

                  Wenn ich z.B. das Passwort und die Passwort-Wiederholung auf Gleichheit teste (Was ich noch machen möchte...), dann sähe das so aus, nicht wahr?
                  PHP-Code:
                  if

                     (
                  $bkennwort != $bkennwort_wdh) {
                     echo 
                  'Die Kennwörter stimmen nicht überein!';

                  Das habe ich dem link entnehmen können! Aber ´mein Ziel ist ja, alle übergebenen Variablen in eine Tabelle zu schreiben.
                  Dabei müssen alle Voraussetzungen erfüllt werden. Da es mehrere Voraussetzungen habe, aber nur ein Ziel, wie muss ich das mittels if-else- Schleifen realisieren?

                  Ich hoffe ich habe mich verständlich ausgedrückt.

                  PHP-Code:
                  if

                  email falsch
                  {tue das}

                  else

                  benutzername schon vergeben
                  {tue das}

                  if 

                  kennwörter falsch
                  {tue das
                  Ist denn die Schreibanweisung bei mir richtig plaziert?
                  Zuletzt geändert von andrassberlin; 15.02.2006, 21:41.

                  Kommentar

                  Lädt...
                  X