Case Probleme wie richtig?

scannor

Gesperrt
Also ich habe folgendes Problem und weis leider nicht mehr weiter! Ich habe ein WAR script wo mir nur noch ne install code fehlt, der fast auch fertig ist blos haut ihrgendwas nicht hin! ich hoffe ihr könnt mir helfen sitze da schon lange dran...

PHP:
Parse error: parse error, unexpected T_CASE in install.php on line ...

UND HIER MAL MEIN CODE OHNE DIE ECHO BEFEHLE, WÄHRE SONST ZU LANG! UND WENN JEMAND NOCH EINEN VORSCHLAG HAT WIE MAN WAS VEREINFACHEN KÖNNTE WÄRE ICH AUCH DANKBAR!

PHP:
<?PHP 
  function generate_password() { 

    $now = time(); 
    srand($now); 
    $pwarray = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"); 

    $pwacount = count($pwarray); 
    $password = ""; 
    $i = 0; 
    while ($letter = rand("0", $pwacount - 1) AND $i != 8) { 
      $password .= $pwarray[$letter]; 
      $i++; 
    } 

    return $password; 
  } 
  
// ---------- CASE STARTPAGE START ---------- 

  switch ($type) { 
    default: 
      echo ''; 
      } 
    exit(); 
    
// ---------- CASE STARTPAGE END ---------- 

   // ---------- CASE INSTALL START ---------- 
    
    case 'install': { 
      switch ($page) { 
        default: 
          echo ''; 
        } 
       } 
        exit(); 
       
// ---------- CASE 1 START ---------- 
    
        case '1': { 
          if ($configfile == "YES") { 
            echo ''; 
          } 
       else { 
            echo ''; 
          } 
         } 
        exit(); 
       
// ---------- CASE 1 END ---------- 

// ---------- CASE 2 START -------- 
       
        case '2': { 
          if ($configfile == "YES") { 
            if ($mysql[host] AND $mysql[user] AND $mysql[database]) { 
              if ($handler = @mysql_connect($mysql[host].":".$mysql[port], $mysql[user], $mysql[password])) { 
                if (mysql_select_db($mysql[database], $handler)) { 
                  $filecontent = "<?PHP\n  \$mysql[host] = "$mysql[host]";\n  \$mysql[user] = "$mysql[user]";\n  \$mysql[password] = "$mysql[password]";\n  \$mysql[database] = "$mysql[database]";\n  \$mysql[port] = "$mysql[port]";\n?>"; 
                  if ($file = fopen("config.inc.php", w)) { 
                    if (fputs($file, $filecontent)) { 
                      fclose($file); 
                      if (!copy("config.inc.php", "admin/config.inc.php")) { 
                        echo ''; 
                      } 
                 else { 
                        if ($mysqltables == "YES") { 
                          function mysql_die () { 
                            echo ''; 
                            exit; 
                          } 
                          mysql_query("DROP TABLE config", $handler); 
                          mysql_query ... OR mysql_die(); 
                          echo ''; 
                        } else { 
                          echo ''; 
                        } 
                      } 
                    } else { 
                      echo ''; 
                    } 
                  } else { 
                    echo ''; 
                  } 
                } else { 
                  echo ''; 
                } 
              } else { 
                echo ''; 
              } 
            } else { 
              echo ''; 
            } 
          } else { 
            if ($mysqltables == "YES") { 
              if (!file_exists("config.inc.php")) { 
                echo ''; 
                exit; 
              } 
              include("config.inc.php"); 
              if (!$handler = @mysql_connect($mysql[host].":".$mysql[port], $mysql[user], $mysql[password])) { 
                echo ''; 
                exit; 
              } else { 
                if (!mysql_select_db($mysql[database],$handler)) { 
                  echo ''; 
                  exit; 
                } 
              } 
              function mysql_die () { 
                echo ''; 
                exit; 
              } 
              mysql_query("DROP TABLE config", $handler); 
              ......) OR mysql_die(); 
              echo ''; 
            } 
         } 
         else { 
              echo ''; 
            } 
          } 
        exit(); 
       
// ---------- CASE 2 END ---------- 
       
// ---------- CASE 3 START ---------- 
       
        case '3': { 
          echo ''; 
        } 
        exit(); 
       
// ---------- CASE 3 END ---------- 

// ---------- CASE 4 START ---------- 
       
        case '4': { 
          if (!$email) { 
            echo ''; 
          } else { 
            if (!file_exists("config.inc.php")) { 
              echo ''; 
              exit; 
            } 
            include("config.inc.php"); 
            if (!$handler = @mysql_connect($mysql[host].":".$mysql[port], $mysql[user], $mysql[password])) { 
              echo ''; 
              exit; 
            } 
            if (!mysql_select_db($mysql[database],$handler)) { 
              echo ''; 
              exit; 
            } 
            $scriptname = str_replace("install.php", "", $SCRIPT_NAME); 
            $url = $SERVER_NAME.$scriptname; 
            $password = generate_password(); 
            $password_coded = base64_encode($password); 
            $insert = "INSERT INTO members (nick, email, password, work, superadmin) VALUES('$nickname', '$email', '$password_coded', 'Webmaster',  'YES')"; 
            mysql_query($insert,$handler); 
            
            echo ''; 
          } 
        } 
        exit(); 
      } 
    exit(); 
    
// ---------- CASE 4 END ---------- 

// ---------- CASE UPDATE START ---------- 
    
    case 'update': { 
      switch ($version) { 
        default: 
          echo ''; 
        exit(); 
       
        case "1.0"; 
          if (file_exists("admin/config.inc.php") AND file_exists("admin/mysql.inc.php")) { 
            include("admin/config.inc.php"); 
            include("admin/mysql.inc.php"); 
            if ($handler) { 
              $query = "ALTER TABLE members ADD realname VARCHAR(250) NOT NULL AFTER work"; 
              mysql_query($query,$handler) OR die("Es ist ein Fehler aufgetreten!"); 
              echo ' 
                
              '; 
            } else { 
              echo ''; 
            } 
          } else { 
            echo ''; 
          } 
        exit(); 
      } 
    exit(); 
  } 
  } 
  
  // ---------- CASE UPDATE END ---------- 
?>
 
Moin,

ohne mir das jetzt genau anzusehen,
würde ich sagen das die "break;" 's in deinen
nach dem case... fehlen.

Ach und die ein oder andere schließende Klammer } fehlt auch!
 
Zuletzt bearbeitet:
Moin,

also es wäre mir neu wenn ich anstatt break auch exit nehmen kann.
exit

(PHP 3, PHP 4 )
exit -- Beenden des aktuellen Skripts
Beschreibung:
void exit ( void )

Mit exit() beenden sie - ohne Möglichkeit der Rückkehr - die Skriptausführung.
Quelle: php.net


Nichts desto trotz fehlen bei dir die schliessenden Klammern.

z.B.

PHP:
if ($handler = @mysql_connect($mysql[host].":".$mysql[port], $mysql[user], $mysql[password])) { 
                if (mysql_select_db($mysql[database], $handler)) { 
                  $filecontent = "<?PHP\n  \$mysql[host] = "$mysql[host]";\n  \$mysql[user] = "$mysql[user]";\n  \$mysql[password] = "$mysql[password]";\n  \$mysql[database] = "$mysql[database]";\n  \$mysql[port] = "$mysql[port]";\n?>"; 

                  if ($file = fopen("config.inc.php", w)) { 
                    if (fputs($file, $filecontent)) { 
                      fclose($file); 

                      if (!copy("config.inc.php", "admin/config.inc.php")) { 
                        echo ''; 

                      } 

                 else {  // HIER
                        if ($mysqltables == "YES") { 
                          funct

Da wo ich HIER geschrieben habe machst du einen Else Zweig auf aber kein If wird geschlossen
 
ok ich habs jetzt so gemacht breaks ich hoffe is jetzt richtig!? aber fehler kommt immer noch! :(

PHP:
<?PHP 
  function generate_password() { 

    $now = time(); 
    srand($now); 
    $pwarray = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"); 

    $pwacount = count($pwarray); 
    $password = ""; 
    $i = 0; 
    while ($letter = rand("0", $pwacount - 1) AND $i != 8) { 
      $password .= $pwarray[$letter]; 
      $i++; 
    } 

    return $password; 
  } 
  
// ---------- CASE STARTPAGE START ---------- 

  switch ($type) { 
    default: 
      echo ''; 
      } 
    break; 
    
// ---------- CASE STARTPAGE END ---------- 

   // ---------- CASE INSTALL START ---------- 
    
    case 'install': { 
      switch ($page) { 
        default: 
          echo ''; 
        } 
       } 
        break; 
       
// ---------- CASE 1 START ---------- 
    
        case '1': { 
          if ($configfile == "YES") { 
            echo ''; 
          } 
       else { 
            echo ''; 
          } 
         } 
        break;
       
// ---------- CASE 1 END ---------- 

// ---------- CASE 2 START -------- 
       
        case '2': { 
          if ($configfile == "YES") { 
            if ($mysql[host] AND $mysql[user] AND $mysql[database]) { 
              if ($handler = @mysql_connect($mysql[host].":".$mysql[port], $mysql[user], $mysql[password])) { 
                if (mysql_select_db($mysql[database], $handler)) { 
                  $filecontent = "<?PHPn  $mysql[host] = "$mysql[host]";n  $mysql[user] = "$mysql[user]";n  $mysql[password] = "$mysql[password]";n  $mysql[database] = "$mysql[database]";n  $mysql[port] = "$mysql[port]";n?>"; 
                  if ($file = fopen("config.inc.php", w)) { 
                    if (fputs($file, $filecontent)) { 
                      fclose($file); 
                      if (!copy("config.inc.php", "admin/config.inc.php")) { 
                        echo ''; 
                      } 
                 else { 
                        if ($mysqltables == "YES") { 
                          function mysql_die () { 
                            echo ''; 
                            break; 
                          } 
                          mysql_query("DROP TABLE config", $handler); 
                          mysql_query ... OR mysql_die(); 
                          echo ''; 
                        } else { 
                          echo ''; 
                        } 
                      } 
                    } else { 
                      echo ''; 
                    } 
                  } else { 
                    echo ''; 
                  } 
                } else { 
                  echo ''; 
                } 
              } else { 
                echo ''; 
              } 
            } else { 
              echo ''; 
            } 
          } else { 
            if ($mysqltables == "YES") { 
              if (!file_exists("config.inc.php")) { 
                echo ''; 
                break; 
              } 
              include("config.inc.php"); 
              if (!$handler = @mysql_connect($mysql[host].":".$mysql[port], $mysql[user], $mysql[password])) { 
                echo ''; 
                break; 
              } else { 
                if (!mysql_select_db($mysql[database],$handler)) { 
                  echo ''; 
                  break; 
                } 
              } 
              function mysql_die () { 
                echo ''; 
                break; 
              } 
              mysql_query("DROP TABLE config", $handler); 
              ......) OR mysql_die(); 
              echo ''; 
            } 
         } 
         else { 
              echo ''; 
            } 
          } 
        break; 
       
// ---------- CASE 2 END ---------- 
       
// ---------- CASE 3 START ---------- 
       
        case '3': { 
          echo ''; 
        } 
        break; 
       
// ---------- CASE 3 END ---------- 

// ---------- CASE 4 START ---------- 
       
        case '4': { 
          if (!$email) { 
            echo ''; 
          } else { 
            if (!file_exists("config.inc.php")) { 
              echo ''; 
              break; 
            } 
            include("config.inc.php"); 
            if (!$handler = @mysql_connect($mysql[host].":".$mysql[port], $mysql[user], $mysql[password])) { 
              echo ''; 
              break; 
            } 
            if (!mysql_select_db($mysql[database],$handler)) { 
              echo ''; 
              break; 
            } 
            $scriptname = str_replace("install.php", "", $SCRIPT_NAME); 
            $url = $SERVER_NAME.$scriptname; 
            $password = generate_password(); 
            $password_coded = base64_encode($password); 
            $insert = "INSERT INTO members (nick, email, password, work, superadmin) VALUES('$nickname', '$email', '$password_coded', 'Webmaster',  'YES')"; 
            mysql_query($insert,$handler); 
            
            echo ''; 
          } 
        } 
        break; 
      } 
    break; 
    
// ---------- CASE 4 END ---------- 

// ---------- CASE UPDATE START ---------- 
    
    case 'update': { 
      switch ($version) { 
        default: 
          echo ''; 
        break; 
       
        case "1.0"; 
          if (file_exists("admin/config.inc.php") AND file_exists("admin/mysql.inc.php")) { 
            include("admin/config.inc.php"); 
            include("admin/mysql.inc.php"); 
            if ($handler) { 
              $query = "ALTER TABLE members ADD realname VARCHAR(250) NOT NULL AFTER work"; 
              mysql_query($query,$handler) OR die("Es ist ein Fehler aufgetreten!"); 
              echo ''; 
            } else { 
              echo ''; 
            } 
          } else { 
            echo ''; 
          } 
        break;
      } 
    break;
  } 
  } 
  
  // ---------- CASE UPDATE END ---------- 
?>
 
Also eine Frage: Wie lange arbeitest du schon mit php?

So ein paar Sachen aus deinem Code:

aus:
PHP:
case '3': { 
         echo ''; 

        } 

        break;
mach mal:
PHP:
case '3': 
         echo '';
         break;
Klammern sind da falsch!


Dann kontrolliere deinen anderen Klammern besonders da wo ich es schon vorhin gepostet habe

Kleiner Tipp:
Mach dir für deine ganze DB geschichte mal eine Include Datei.
Das macht den Code übersichtlicher!
 
Also ich mache es noch nciht so lange zirka 3-4 monate :(...
Wie du das mit den includen meinst weis ich ich leider nicht genau :( sry
HAB jetzt so:

PHP:
<?PHP 
  function generate_password() { 

    $now = time(); 
    srand($now); 
    $pwarray = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"); 

    $pwacount = count($pwarray); 
    $password = ""; 
    $i = 0; 
    while ($letter = rand("0", $pwacount - 1) AND $i != 8) { 
      $password .= $pwarray[$letter]; 
      $i++; 
    } 

    return $password; 
  } 
  
// ---------- CASE STARTPAGE START ---------- 

  switch ($type) { 
    default: 
      echo ''; 
       
     
    
// ---------- CASE STARTPAGE END ---------- 

   // ---------- CASE INSTALL START ---------- 
    
    case 'install': { 
      switch ($page) { 
        default: 
          echo ''; 
       } 
        break; 
       
// ---------- CASE 1 START ---------- 
    
        case '1': { 
          if ($configfile == "YES") { 
            echo ''; 
          } 
       else { 
            echo ''; 
          }  
        break;
       
// ---------- CASE 1 END ---------- 

// ---------- CASE 2 START -------- 
       
        case '2': { 
          if ($configfile == "YES") { 
            if ($mysql[host] AND $mysql[user] AND $mysql[database]) { 
              if ($handler = @mysql_connect($mysql[host].":".$mysql[port], $mysql[user], $mysql[password])) { 
                if (mysql_select_db($mysql[database], $handler)) { 
                  $filecontent = "<?PHP\n  \$mysql[host] = \"$mysql[host]\";\n  \$mysql[user] = \"$mysql[user]\";\n  \$mysql[password] = \"$mysql[password]\";\n  \$mysql[database] = \"$mysql[database]\";\n  \$mysql[port] = \"$mysql[port]\";\n?>";
                  if ($file = fopen("config.inc.php", w)) { 
                    if (fputs($file, $filecontent)) { 
                      fclose($file); 
                      if (!copy("config.inc.php", "admin/config.inc.php")) { 
                        echo '';  
                 else { 
                        if ($mysqltables == "YES") { 
                          function mysql_die () { 
                            echo ''; 
                            break; 
                          } 
                          mysql_query("DROP TABLE config", $handler);   
							
                          echo ''; 
						  
							} else { 
							
                          echo ''; 
						  
                        } else { 
                     
					  echo ''; 
					  
                    }else { 
                   
				    echo ''; 
					
                } else { 
				
                  echo ''; 
                 
              } else { 
			  
                echo ''; 
               
            } else { 
			
              echo ''; 
             
          } else { 
            if ($mysqltables == "YES") { 
              if (!file_exists("config.inc.php")) { 
                echo ''; 
                break; 
              } 
              include("config.inc.php"); 
              if (!$handler = @mysql_connect($mysql[host].":".$mysql[port], $mysql[user], $mysql[password])) { 
                echo ''; 
                break; 
               else { 
                if (!mysql_select_db($mysql[database],$handler)) { 
                  echo ''; 
                  break; 
                 
              } 
              function mysql_die () { 
                echo ''; 
                break; 
              } 
              mysql_query("DROP TABLE config", $handler);
              
              echo ''; 
            } 
         } 
         else { 
              echo ''; 
            } 
          } 
        break; 
       
// ---------- CASE 2 END ---------- 
       
// ---------- CASE 3 START ---------- 
       
        case '3': { 
          echo '';  
        break; 
       
// ---------- CASE 3 END ---------- 

// ---------- CASE 4 START ---------- 
       
        case '4': { 
          if (!$email) { 
            echo ''; 
          } else { 
            if (!file_exists("config.inc.php")) { 
              echo ''; 
              break; 
            } 
            include("config.inc.php"); 
            if (!$handler = @mysql_connect($mysql[host].":".$mysql[port], $mysql[user], $mysql[password])) { 
              echo ''; 
              break; 
            } 
            if (!mysql_select_db($mysql[database],$handler)) { 
              echo ''; 
              break; 
            } 
            $scriptname = str_replace("install.php", "", $SCRIPT_NAME); 
            $url = $SERVER_NAME.$scriptname; 
            $password = generate_password(); 
            $password_coded = base64_encode($password); 
            $insert = "INSERT INTO members (nick, email, password, work, superadmin) VALUES('$nickname', '$email', '$password_coded', 'Webmaster',  'YES')"; 
            mysql_query($insert,$handler); 
            
            echo ''; 
          }  
        break; 
      } 
    break; 
    
// ---------- CASE 4 END ---------- 

// ---------- CASE UPDATE START ---------- 
    
    case 'update': { 
      switch ($version) { 
        default: 
          echo ''; 
        break; 
       
        case "1.0"; 
          if (file_exists("admin/config.inc.php") AND file_exists("admin/mysql.inc.php")) { 
            include("admin/config.inc.php"); 
            include("admin/mysql.inc.php"); 
            if ($handler) { 
              $query = "ALTER TABLE members ADD realname VARCHAR(250) NOT NULL AFTER work"; 
              mysql_query($query,$handler) OR die("Es ist ein Fehler aufgetreten!"); 
              echo ''; 
			  
            } else { 
			
              echo ''; 
 
          } else { 
		  
            echo ''; 
			
          } break; 
      }
	   
    break; 
  }  
  
  // ---------- CASE UPDATE END ---------- 
?>
 
Hallo, nur ein kleiner Tipp:

Um Deinen Code übersichtlicher zu gestalten,
solltest Du ihn mehr modularisieren.

sprich: Auslagern von wiederkehrenden oder für
sich stehende Codeteile in Funktionen. Und
diese wiederum sollten sich, in Abhängigkeit
ihrer Aufgabe, in verschiedenen Files befinden,
die nur dann in den Code includet werden
sollten, wenn die Funktionen auch benötigt werden.

Die Resultate wären übersichtliche Scripte und
eine performate Web-Applikation.

mfg, snuu
 
Original geschrieben von snuu

sprich: Auslagern von wiederkehrenden oder für
sich stehende Codeteile in Funktionen. Und
diese wiederum sollten sich, in Abhängigkeit
ihrer Aufgabe, in verschiedenen Files befinden,
die nur dann in den Code includet werden
sollten, wenn die Funktionen auch benötigt werden.

Die Resultate wären übersichtliche Scripte und
eine performate Web-Applikation.

hm das ist doch blos eine install.php ich will da nicht unbedingt mehre dateien habn!

Kein mir einer sagen ob die {} jetzt richtig sind? bitte...
 
Nein sind sie nicht!

Also hier noch mal ein Code Teil von dir:

PHP:
case "1.0";  // HIER MUSS EIN :  SEIN

if (file_exists("admin/config.inc.php") AND file_exists("admin/mysql.inc.php"))
 { // IF ANFANG 
            include("admin/config.inc.php"); 
            include("admin/mysql.inc.php"); 
            if ($handler) {  // NEUES IF
              $query = "ALTER TABLE members ADD realname VARCHAR(250) NOT NULL AFTER work"; 
              mysql_query($query,$handler) OR die("Es ist ein Fehler aufgetreten!"); 
              echo ''; 
            } else { //ELSE TEIL ZUM NEUEN IF 
              echo ''; 
           } else {  //NOCH EIN ELSE ZUM NEUEN IF. DAS GEHT NICHT WENN DANN ELSEIF()
             echo ''; 
            } // NEUES IF ZU.!  ERTSES IF WIRD NICHT GESCHLOSSEN
break;


So, und jetzt geh mal in Ruhe durch dein Code.
Sie dir das ganze mal in einem Editor an der dir die Klammerung
Farbloch markiert, bzw anzeigt. Ich glaube Weaversleave macht das.
 
Zurück