Parse error: syntax error, unexpected T_STRING in on line 1

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Parse error: syntax error, unexpected T_STRING in on line 1

    Parse error: syntax error, unexpected T_STRING in on line 1

    Hallo,

    ich habe folgendes Problem.
    Seid dem ich meine Seite auf meinen Webserver hochgeladen habe bekomme ich folgende Compilerfehlermeldung:
    Parse error: syntax error, unexpected T_STRING in on line 1

    In der INDEX.PHP

    dort sind Verlinkungen enthalten:

    <a href="index.php?id=startseite"> Startseite</a>
    .
    .
    .

    und ein PHP-Schnipsel

    Quellcode

    1. <?php
    2. include ("mainmenu.php");
    3. ?>


    in der mainmenu.php sieht das dann folgendermaßen aus:

    Quellcode

    1. <?php
    2. switch ($_GET['id'])
    3. {
    4. case "startseite" :
    5. include "sites/startseite.html";
    6. break;
    7. //usw
    8. }
    9. ?>
    Alles anzeigen


    Local mit Apache Webserver und PHP5 Compiler hats soweit alles funktioniert, deswegen wundere ich mich.
    Ich hoffe mir kann jemand Helfen, bin neu in php und sehr dankbar für jede Hilfe.

    Gruß Christian ?(

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von shoccx ()

  • Sry habs nur hier vergessen zu posten im Quelltext ist die geschweifte Klammer vorhanden, habs editiert.

    Warum siehts grausig aus? :S

    Ich will nur das sich per link der Seiteninhalt ändert. Die Seite wird neu geladen und je nach ID der Maininhalt gewechselt.
    Hast du dafür ne andere Lösung? Wie gesagt ich bin noch Anfänger, das ist mein erstes größeres Projekt an dem ich wachsen will.

    Gruß Christian ?(
  • X-Eon schrieb:

    Dein Fehler liegt in Zeile 1 :)


    DER ist gut :)

    aber ganz im ernst poste doch mal die ersten Zeilen deiner INDEX.PHP ... denn da scheint ja der fehler zu liegen laut deiner fehlermeldung
    - ich weis, dass php 4 veraltet ist und ich lieber php 5 nutzen sollte
    - ich mache das ganze nicht nur um mein projekt zu erstellen, sondern um das ganze auch zu verstehen
    - wenn das ganze in php 4 funktioniert will ich es sauber nach php 5 migrieren
    - kurz gesagt ich WILL LERNEN VERSTEHEN und restlos BEGREIFEN wie das was ich möchte in php 4 / 5 / 6 umgesetzt werden soll
  • Index.PHP

    erst reines HTML

    jetzt die Links mit der ID

    Quellcode

    1. <div id="mmenu">
    2. <ul id="menu">
    3. <li><a href="#">Home</a>
    4. <ul id="submenu1">
    5. <li><a href="index.php?id=startseite"> Startseite</a></li>
    6. <li><a href="index.php?id=gaestebuch"> G&auml;stebuch</a></li>
    7. <li><a href="index.php?id=kontakt"> Kontakt</a></li>
    8. <li><a href="index.php?id=links"> Links</a></li>
    9. <li><a href="index.php?id=impressum"> Impressum</a></li>
    10. </ul>
    11. </li>
    12. </ul>
    13. </div>
    Alles anzeigen


    so dann wieder reines HTML DIVS mit Inhalt

    dann php

    Quellcode

    1. <?php
    2. include ("sites/php/mainmenu.php");
    3. ?>


    Das wars schon in der Index.php
  • Kann es sein das es einfach etwas mit der Pfadnagebe in:

    Quellcode

    1. <?php
    2. include ("sites/php/mainmenu.php");
    3. ?>


    zu tuen hat.

    Das ganze liegt im Rootordner des Servers. Aber da ich ne Vorgängerversion der Seite dort liegen habe, habe ich ein neues Verzeichnis erstellt. Enfallsreich wie ich bin hab ich dies "new" genannt.
  • shoccx schrieb:


    <?xml version="1.0" ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


    da liegt der fehler
    in php gibt es 2 möglichkeiten php code zu deklarieren ...

    der eine den du gewählt hast

    <?php ... das funktioniert immer

    <? ... muss über die php ini (short tags oder sowas) EINGESCHALTET werden.

    dein isp hat diese option wahrscheinlich eingeschaltet und somit versucht dein php

    Quellcode

    1. xml version="1.0"

    als php zu interpretieren.

    nimm diese zeile raus und setze stattdessen den header über eine php function
    <?php header(...) ?>

    es gibt zwar auch alternative lösungen aber die sind eher unsauberer code glaube ich
    [Edith]

    ich habe es mal so gelöst

    Quellcode

    1. header("Content-type: text/xml" );
    2. echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";

    aber wie gesagt das ist eine eher unsaubere lösung
    - ich weis, dass php 4 veraltet ist und ich lieber php 5 nutzen sollte
    - ich mache das ganze nicht nur um mein projekt zu erstellen, sondern um das ganze auch zu verstehen
    - wenn das ganze in php 4 funktioniert will ich es sauber nach php 5 migrieren
    - kurz gesagt ich WILL LERNEN VERSTEHEN und restlos BEGREIFEN wie das was ich möchte in php 4 / 5 / 6 umgesetzt werden soll
  • Eine FRAGE noch dann kann der Thread by closed

    Habs grad probiert, hat nicht so funktioniert wie meinst du das genau? SO?

    Quellcode

    1. <?php header(xml version="1.0" ) ?>
    2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


    Gruß Christian ;)

    EDIT
    Ach falsch gelesen du meinst ich soll eine Fnktion für den Header schreiben, sry.
    Gut kannst du mir ein kleines Bsp dalassen (mini)
  • hatte bei meinem post besuch von [edith] ... da hab ich "meine" bei mir funktionierende version gepostet (weis aber nicht ob die so gut ist)

    ansonsten bei php.net mal schauen
    - ich weis, dass php 4 veraltet ist und ich lieber php 5 nutzen sollte
    - ich mache das ganze nicht nur um mein projekt zu erstellen, sondern um das ganze auch zu verstehen
    - wenn das ganze in php 4 funktioniert will ich es sauber nach php 5 migrieren
    - kurz gesagt ich WILL LERNEN VERSTEHEN und restlos BEGREIFEN wie das was ich möchte in php 4 / 5 / 6 umgesetzt werden soll
  • psst ... nicht so laut ...
    man könnte denken, dass ich weis was ich schreibe :)
    - ich weis, dass php 4 veraltet ist und ich lieber php 5 nutzen sollte
    - ich mache das ganze nicht nur um mein projekt zu erstellen, sondern um das ganze auch zu verstehen
    - wenn das ganze in php 4 funktioniert will ich es sauber nach php 5 migrieren
    - kurz gesagt ich WILL LERNEN VERSTEHEN und restlos BEGREIFEN wie das was ich möchte in php 4 / 5 / 6 umgesetzt werden soll
  • ich bevorzuge die Variante mit dem echo

    Quellcode

    1. <?php
    2. echo '<?xml...';


    Davon Konfigurationsvariablen zur Laufzeit zu überschreiben würde ich immer abraten. Man weiß nie, wo das noch alles gilt, wo es aber gar nicht mehr gelten soll (z.B. eine externe Library die shorttags verwendet - evtl sogar eine Konfigurationsdatei mit Zugangsdaten, die danach im Plaintext dargestellt wird)