Probleme mit weiterleitungs Script

  • Hallo zusammen,

    Ich hab eine Webseite erstellt und da einige Links zu Partnerprogrammen da ich die etwas verkürzen will hab ich mir ein Script besorgt mit dem ich diese einzeln weiterleiten kann,

    Hier das beispiel:

    <?php
    $id = $_GET[’id’];
    switch ($id) {
    case 1: header(”Location: PARTNERLINK“); break;
    case 2: header(”Location: PARTNERLINK“); break;
    case “fleurop”: header(”Location: PARTNERLINK“); break;
    default: header(”Location: PARTNERLINK“); break;
    }
    ?>

    Hab das Script hochgeladen und einen Versuch gestartet mit ein paar test links danach bekahm ich volgende meldung:


    Parse error: syntax error, unexpected ':' in /var/www/xt3b421/html/clicks.php on line 4

    Was hab ich flasch gemacht?

    MfG

    Index

  • Für 19 Euro darfst dir den code kopieren:

    PHP
    <?php
    $id = $_GET['id'];
    switch ($id) {
    case 1:  header('Location: PARTNERLINK'); break;
    case 2: header('Location: PARTNERLINK'); break;
    case 'fleurop': header('Location: PARTNERLINK'); break;
    default: header('Location: PARTNERLINK'); break;
    }
    ?>
  • Als Nachtrag: Besorg dir einen vernünftigen Editor, der die Anführungszeichen nicht umwandelt. Richtig sollten sie so aussehen: "Location: PARTNERLINK" und nicht ”Location: PARTNERLINK“

    Information will frei verfügbar sein.

    Don't eat unpeeled hedgehogs.

  • Als weiteren Nachtrag: PHP Fehlermeldungen sind gar nicht so unverständlich wie sie vielleicht am Anfang aussehen.

    Zitat

    Parse error: syntax error, unexpected ':' in /var/www/xt3b421/html/clicks.php on line 4

    Sie sagt dir:
    - dass der Fehler in der Datei "clicks.php" aufgetreten ist
    - dass der Fehler auf der Zeile 4 aufgetreten ist (Tipp: ist oft eine Zeile weiter oben, da sich ein syntax error oft erst auf der nächsten Zeile bemerkbar macht, ist aber in diesem Fall nicht so)
    - dass der Typ des Fehlers ein syntax Fehler war, also, dass du nicht PHP-Konform geschrieben hast
    - dass ein "unerwarteter ':'" gefunden wurde

    Nun wenden wir mal unser Wissen an und sehen uns die vierte Zeile an:

    PHP
    case 2: header(”Location: PARTNERLINK“); break;

    Da gibts genau zwei ':' - das Erste können wir ausschliessen indem wir uns die Syntax einer switch/case Anweisung nochmal nachschlagen und sehen, dass sie so stimmt. Da bleibt uns nur noch das Zweite, schlagen wir doch die Syntax der header() Funktion nach: http://ch2.php.net/manual/en/function.header.php. Und schon sehen wir, dass da was nicht stimmt. Schnell anpassen: das wars.

    Weitere Hilfe für die Fehlerbehebung: https://www.forum-hilfe.de/showpost.php?p=323834&postcount=2

    Das nennt man debugging und wenn man mal etwas geübt ist darin, kann man 90% seiner Fehler selber lösen.

    5 Mal editiert, zuletzt von phore (22. Mai 2009 um 14:37)

  • Da gibts genau zwei ':' - das Erste können wir ausschliessen indem wir uns die Syntax einer switch/case Anweisung nochmal nachschlagen und sehen, dass sie so stimmt.


    Ist richtig. Man könnte auch nach dem ersten ':' einen Zeilenumbruch machen und gucken, ob der Fehler dann in die nächste Zeile rutscht (was er dann tut).

    Information will frei verfügbar sein.

    Don't eat unpeeled hedgehogs.