else error

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

  • else error

    Hi

    ich bekomme bei meinem script den error:


    Parse error: syntax error, unexpected T_ELSE in /opt/lampp/htdocs/tescht.php on line 56

    ich hab viel versucht, find dn fehler aber nicht

    PHP-Code:
    <?php

      
    if ($_SESSION['login_status'] == 1) {

        
    $server $_GET["server"];
        
    $char $_GET["char"];

        if ((
    $server == "") AND ($char == "")) {

          
    $login $_SESSION['login'];

          
    $db mysql_connect("localhost","root","omg147rofl123") or mysql_die("Unable to connect");
          
    mysql_select_db("browsergame",$db);

          
    $result1 mysql_query("SELECT `account_id` FROM `login` WHERE `userid`='$login'");
          list(
    $account_id) = mysql_fetch_row($result1);

          
    mysql_close($db);

        echo 
    "    <table border=\"0\" width=\"400\">";
        echo 
    "        <tr>";
        echo 
    "            <td width=\"400\">";
        echo 
    "                <table border=\"0\">";
        echo 
    "                    <tr>";
        echo 
    "                        <td width=\"313\"><b>Name:</b></td>";
        echo 
    "                        <td width=\"313\"><b>Base Lvl:</b></td>";
        echo 
    "                        <td width=\"313\"><b>Job Lvl:</b></td>";
        echo 
    "                    </tr>";

          
    $db mysql_connect("localhost","root","omg147rofl123") or mysql_die("Unable to connect");
          
    mysql_select_db("browsergame",$db);

          
    $result2 mysql_query("SELECT `name` FROM `char` WHERE `account_id`='$account_id'");
          
    $result8 mysql_query("SELECT `job_level` FROM `char` WHERE `account_id`='$account_id'");
          
    $result9 mysql_query("SELECT `base_level` FROM `char` WHERE `account_id`='$account_id'");
    //for ($i=1; $i<12; $i++) {
        
    for ($i=0$i<12$i++) {


         echo 
    "          <tr>";
            echo 
    "           <td width=\"313\"> ";

                    if (list(
    $char_name) = mysql_fetch_row($result2))
                      echo 
    $char_name;
        echo 
    "        </td>";
        
        echo 
    "        <td width=\"313\">";
                 if (list(
    $char_blvl) = mysql_fetch_row($result9))
                    echo 
    $char_blvl;
        echo 
    "        </td>";

        echo 
    "        <td width=\"313\">";
                 if (list(
    $char_jlvl) = mysql_fetch_row($result8))
                    echo 
    $char_jlvl;
        echo 
    "        </td>";
    else{      
      if (
    $i == 0) {
                echo 
    "<font color=\"#C80000\"><b>";
                echo 
    "Du hast keine Characktere auf tROpico<br>";
                echo 
    "</font></b>";
              } else
                echo 
    "&nbsp;";
            };

            echo 
    "        </td>";
            echo 
    "      </tr>";

          }


          
    mysql_close($db);

          echo 
    "      </table>";
          echo 
    "    </td>";
          echo 
    "  </tr>";
          echo 
    "</table>";
     
        } else if ((
    $server != "") AND ($char != "")) {

          
    $login $_SESSION['login'];

          
    $db mysql_connect("localhost","root","omg147rofl123") or mysql_die("Unable to connect");
          
    mysql_select_db("browsergame",$db);

          
    $result1 mysql_query("SELECT `account_id` FROM `login` WHERE `userid`='$login'");
          list(
    $account_id) = mysql_fetch_row($result1);

          
    mysql_close($db);

          if (
    $server == "tROpico") {
            
    $db mysql_connect("localhost","root","omg147rofl123") or mysql_die("Unable to connect");
            
    mysql_select_db("browsergame",$db);
          }

          if (
    $server == "Chaos") {
            
    $db mysql_connect("localhost","root","omg147rofl123") or mysql_die("Unable to connect");
            
    mysql_select_db("browsergame",$db);
          }

          
    mysql_query("UPDATE `char` SET `last_map`='prontera', `last_x`='156', `last_y`='189', `save_map`='prontera', `save_x`='156', `save_y`='189' WHERE `name`='$char' AND `account_id`='$account_id'");
          
    mysql_close($db);

          echo 
    "Dein Charackter ".$char." auf ".$server." wurde erfolgreich nach Prontera versetzt.<br><br>";
          
        };

      };

    ?>

  • #2
    Hi,

    wie fändest du die Idee, eine schließende geschweifte Klammer vor das else zu setzen?

    Kommentar


    • #3
      Meine Güte ... zähle doch die { und }, wenn du selbst dabei nicht in der Lage bist, dann lass es mit dem Programmieren sein

      z.B. for (...) { aber kein }

      und Regel lesen

      Kommentar


      • #4
        Ja und bei genauerer Betrachtung des ganzen sehe ich auch, dass du manchmal beim if Klammern setzt, aber beim else nicht. An sich erlaubt, wenn nur eine Zeile folgt, aber das führt zu eben solchen Problemen.
        Wenn du richtig einrücken würdest, sähest du auch sofort, wo etwas fehlt.

        Kommentar


        • #5
          ich habe gerade gesehen, dass ich 8 schliesende und 8 offene habe, auf die idee vor das else ne } zu setzen kam ich auch schon nur nützt das nichts, falls ihr denkt ich hab 9 offene so stimmt dasnciht, da ich eine mit // auskommentiert habe
          MfG Aless
          Zuletzt geändert von aless123; 16.03.2008, 16:08.

          Kommentar


          • #6
            Ich könnte mich jetzt hinsetzen, den Code vernünftig formatieren und die Klammern setzen. Ich kann dir aber auch sagen, dass du es selbst tun kannst.
            Fang oben an und rücke jeden Block mit 4 Leerzeichen ein (zuerst alle führenden Leerzeichen entfernen). Dabei achtest du darauf, dass auch alle Blöcke in Klammern gefasst sind.
            Als Tipp: die meisten Editoren bieten die Funktion, Klammerpaare hervorzuheben. Mache Gebrauch davon!

            Kommentar


            • #7
              wir sagen nichts, bis du unsere Regel gelesen und entsprechend geändert hast
              http://www.php-resource.de/forum/sho...threadid=50454

              Kommentar


              • #8
                also:

                mein script sieht wie folgt aus:

                PHP-Code:
                <?php
                error_reporting
                (E_ALL); 
                ini_set("display_errors"ON);
                  if (
                $_SESSION['login_status'] == 1) {

                    
                $server $_GET["server"];
                    
                $char $_GET["char"];

                    if ((
                $server == "") AND ($char == "")) {

                      
                $login $_SESSION['login'];

                      
                $db mysql_connect("localhost","root","dddrofl123") or mysql_die("Unable to connect");
                      
                mysql_select_db("scityro-server",$db);

                      
                $result1 mysql_query("SELECT `account_id` FROM `login` WHERE `userid`='$login'");
                      list(
                $account_id) = mysql_fetch_row($result1);

                      
                mysql_close($db);

                    echo 
                "    <table border=\"0\" width=\"400\">";
                    echo 
                "        <tr>";
                    echo 
                "            <td width=\"400\">";
                    echo 
                "                <table border=\"0\">";
                    echo 
                "                    <tr>";
                    echo 
                "                        <td width=\"313\"><b>Name:</b></td>";
                    echo 
                "                        <td width=\"313\"><b>Base Lvl:</b></td>";
                    echo 
                "                        <td width=\"313\"><b>Job Lvl:</b></td>";
                    echo 
                "                    </tr>";

                      
                $db mysql_connect("localhost","root","dddrofl123") or mysql_die("Unable to connect");
                      
                mysql_select_db("scityro-server",$db);

                      
                $result2 mysql_query("SELECT `name` FROM `char` WHERE `account_id`='$account_id'");
                      
                $result8 mysql_query("SELECT `job_level` FROM `char` WHERE `account_id`='$account_id'");
                      
                $result9 mysql_query("SELECT `base_level` FROM `char` WHERE `account_id`='$account_id'");

                    for (
                $i=0$i<12$i++) {


                     echo 
                "          <tr>";
                        echo 
                "           <td width=\"313\"> ";

                                if (list(
                $char_name) = mysql_fetch_row($result2))
                                  echo 
                $char_name;
                    echo 
                "        </td>";
                    
                    echo 
                "        <td width=\"313\">";
                             if (list(
                $char_blvl) = mysql_fetch_row($result9))
                                echo 
                $char_blvl;
                    echo 
                "        </td>";

                    echo 
                "        <td width=\"313\">";
                             if (list(
                $char_jlvl) = mysql_fetch_row($result8))
                                echo 
                $char_jlvl;
                    echo 
                "        </td>";
                else{      
                  if (
                $i == 0) {
                            echo 
                "<font color=\"#C80000\"><b>";
                            echo 
                "Du hast keine Characktere auf tROpico<br>";
                            echo 
                "</font></b>";
                          } else
                            echo 
                "&nbsp;";
                        };

                        echo 
                "        </td>";
                        echo 
                "      </tr>";

                      }


                      
                mysql_close($db);

                      echo 
                "      </table>";
                      echo 
                "    </td>";
                      echo 
                "  </tr>";
                      echo 
                "</table>";
                 
                    } else if ((
                $server != "") AND ($char != "")) {

                      
                $login $_SESSION['login'];

                      
                $db mysql_connect("localhost","root","dddrofl123") or mysql_die("Unable to connect");
                      
                mysql_select_db("scityro-server",$db);

                      
                $result1 mysql_query("SELECT `account_id` FROM `login` WHERE `userid`='$login'");
                      list(
                $account_id) = mysql_fetch_row($result1);

                      
                mysql_close($db);

                      if (
                $server == "tROpico") {
                        
                $db mysql_connect("localhost","root","dddrofl123") or mysql_die("Unable to connect");
                        
                mysql_select_db("scityro-server",$db);
                      }

                      if (
                $server == "Chaos") {
                        
                $db mysql_connect("localhost","root","dddrofl123") or mysql_die("Unable to connect");
                        
                mysql_select_db("scityro-server",$db);
                      }

                      
                mysql_query("UPDATE `char` SET `last_map`='prontera', `last_x`='156', `last_y`='189', `save_map`='prontera', `save_x`='156', `save_y`='189' WHERE `name`='$char' AND `account_id`='$account_id'");
                      
                mysql_close($db);

                      echo 
                "Dein Charackter ".$char." auf ".$server." wurde erfolgreich nach Prontera versetzt.<br><br>";
                      

                    };

                  };

                ?>
                ich bekomme diese fehler hier:

                Parse error: syntax error, unexpected T_ELSE in /opt/lampp/htdocs/tescht.php on line 57

                ich habe die { und } gezählt sind jeweils 8 also das passt auch, ich weiß wirklich nicht wo der fehler liegt, ich hoffe ihr könnt mir helfen und hoffe das mit meinem post alles in ordnung ist


                MfG Aless

                Kommentar


                • #9
                  Das ist schön, dass du jetzt 8 Paare hast, aber wenn die falsch verschachtelt sind, dann hilft das niemandem.
                  Bitte beherzige meine Ratschläge und den von asp2php.

                  Kommentar


                  • #10
                    PHP-Code:
                        for ($i=0$i<12$i++) {


                         echo 
                    "          <tr>";
                            echo 
                    "           <td width=\"313\"> ";

                                    if (list(
                    $char_name) = mysql_fetch_row($result2))
                                      echo 
                    $char_name;
                        echo 
                    "        </td>";
                        
                        echo 
                    "        <td width=\"313\">";
                                 if (list(
                    $char_blvl) = mysql_fetch_row($result9))
                                    echo 
                    $char_blvl;
                        echo 
                    "        </td>";

                        echo 
                    "        <td width=\"313\">";
                                 if (list(
                    $char_jlvl) = mysql_fetch_row($result8))
                                    echo 
                    $char_jlvl;
                        echo 
                    "        </td>";
                    else{ 
                    Nieder mit der Camel Case-Konvention

                    Kommentar


                    • #11
                      da du absichtlich unsere Regel ignorierst. wandert nun den Thread in den Müll. Du darfst neue erstellen nach dem du unsere Regel Achtung schenkst.

                      Und wenn nicht ... bannen kostet mich nur einen Maus-Klick

                      Kommentar

                      Lädt...
                      X