Wo liegt hier der Fehler?

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

  • Wo liegt hier der Fehler?

    Ich habe schon oft eine Ausgabe mit
    echo 'xx';
    gemacht.
    Es gab dabei nie ein Problem.
    Nur bei folgendem Scriptauszug wird mir ein Parse Error angezeigt.
    Ich kann aber absolut keinen Codefehler entdecken.
    Bin ich wirklich so blind??

    $Benutzer = str_replace(".dat", "", $file);
    $Inhalt = '
    <p>Wollen Sie wirklich den
    Benutzer <b>' . $Benutzer . '</b> löschen?<br>
    <br>
    <a href="index.php?aktion=loeschen&file=' . $file . '&best=ja">>>JA</a> / <a href="index.php">>>NEIN</a></p>
    <br>';

    In die Var "Inhalt" möchte ich HTML Code speichern den ich später in ein Template einfüge.
    Der Fehler wird bezogen auf den oberen Ausschnitt in der 3. Zeile angezeigt.

    Wenn ich den HTML Code herausnehme
    $Inhalt = 'xx';
    bleibt der Fehler genauso bestehen!
    (Dies dürfte doch normalerweise kein Problem sein)

    Wenn ich aber die Anführungszeichen gegen doppelte ersetze gibt es kein Problem mehr.
    Ich möchte aber für einen HTML Code einfache verwenden.

    Kann mir da jemand weiterhelfen?

    THX

  • #2
    hi broxx

    ich hab' deinen code-schnipsel mal ausprobiert und festgestellt, dass er bei mir funktioniert. wenn ich mir $Inhalt ausgeben lasse, kriege ich den html-code korrekt angezeigt.
    das wird dir zwar nicht direkt weiterhelfen, aber vielleicht wird der fehler ja gar nicht an der stelle verursacht.
    bei mir treten immer mal wieder fehler auf, wenn ich mit den verschiedenen anführungsstrichen herumwerkel. vor allem wenn ich verschachtelungen dabei nutze, dann vergesse ich schonmal ein schließendes anführungszeichen und erst später im php-code fällt der fehler auf.
    überprüf das doch mal genau.

    benne

    Kommentar


    • #3
      Lösung gefunden!!

      Danke für deine Antwort!

      Deine Vermutung ist richtig gelegen.

      Lösung:

      Zu Beginn des Scripts kommt folgende Zeile vor
      $Verz = 'd:\userdat\';

      Da aber die Backslashes immer das darauffolgende Zeichen ignorieren, wird das einfache Anführungszeichen ignoriert.
      Dies führt dann natürlich zu einem Problem, da das Anführungszeichen nicht geschlossen wird.

      Also:
      $Verz = 'd:\\userdat\\';

      THX

      Kommentar

      Lädt...
      X