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

Fehlercode "syntax error, unexpected end"

Hallo-Welt

Aktives Mitglied
Ich hab' mir ein PHP-Dokument zusammengebaut, was so jetzt grundsetztlich funktionnieren sollte. Nur bekomme ich jetzt vom Server vorgeworfen, dass das Ende falsch sei. Er schreibt: "Parse error: syntax error, unexpected end of file in /users/blabla/www/example/example.php on line 11"
Aber für mich ist der Code richtig. Hier der Code:
PHP:
<?php
if($_GET['var1'] == "abc" || $_GET['var1'] == "ABC"){
  header("Location: 1.html");
  if($_GET['var1'] == "cba" || $_GET['var1'] == "CBA"){
  header("Location: 2.html");
} else {
  header("Location: 3.html");
}

exit();
?>
Er bewirkt, dass bei eintippen von "abc" und "ABC" der Bentzer zu doc. 1 weitergeleitet wir, bei Eingabe von "cba" oder "CBA" zu doc 2 und bei jeder anderen zu doc 3. Was ist hier falsch, ich verstehe nur noch Bahnhof.
 
Werbung:
Die Accolade? So dann?:

<?php
if($_GET['var1'] == "abc" || $_GET['var1'] == "ABC"){
header("Location: 1.html");
} if($_GET['var1'] == "cba" || $_GET['var1'] == "CBA"){
header("Location: 2.html");
} else {
header("Location: 3.html");
}

exit();
?>


Oder wie?
 
Werbung:
PHP:
 <?php
if($_GET['var1'] == "abc" || $_GET['var1'] == "ABC"){
  header("Location: 1.html");
}else{
  if($_GET['var1'] == "cba" || $_GET['var1'] == "CBA"){
     header("Location: 2.html");
  }else{
     header("Location: 3.html");  
  }
}

exit();
?>
So stimmt zumindest die If-Struktur. Zur Logik äußere ich mich mal nicht.
Für die Zukunft solltest Du Dir vielleicht einen Editor besorgen, der gleich einen Syntaxcheck durchführen kann und die Code-Einrückungen automatisch vornimmt, dann ist sowas auch viel einfacher.

HTH
Alex
 
Werbung:
Oh, danke. Dann werde ich den mal gleich ausprobieren.
Nur müsste es nicht eher so sein:

PHP:
<?php
if($_GET['var1'] == "abc" || $_GET['var1'] == "ABC"){
  header("Location: 1.html");
}else
  if($_GET['var1'] == "cba" || $_GET['var1'] == "CBA"){
     header("Location: 2.html");
  }else{
     header("Location: 3.html");  
  }
}

exit();
?>
?
 
Nur müsste es nicht eher so sein:
Ist das hier eine Quizshow, bei der man fröhlich rumraten kann, oder kann man auch mal selber etwas experimentieren und testen?
PHP:
<?php

  if (isset($_GET['var1']))
  {
      $var = strtolower($_GET['var1']);
      
      switch($var)
      {
         case 'abc': header("Location: 1.html"); break;
         case 'cba': header("Location: 2.html"); break;
         default:    header("Location: 3.html"); break;
      }
      
      exit();
  }
  else
  {
     header("Location: 3.html");
     exit();     
  }
?>
 
Grrrrr, nein!
Syntaxfehler ist ein Syntaxfehler. Kann jedem passieren, kann jeder selbst lösen.

Und bevor du versucht etwas richtiges wieder mit dem selben falschen Schrott zu korrigieren könntest du auch einfach mal ausprobieren ob es funktioniert.
 
Werbung:
Ähm... ich hab' nur 'ne überflüssige Accolade weggemacht, sonst käme wieder der selbe Fehler wie vorhin.

Ich danke euch allen auf jeden Fall für eure Bemühungen.
 
Zurück
Oben