Syntax-Problem mit PHP

  • Hallo liebe forum-hilfe.de Mitglieder.
    Ich sitze jetzt schon seit zwei Studnen vor diesem Quelltext und zermater mir den Kopf. Leider sind alle miene Programmierbegabten Freunde (so viele sinds irgendwie nicht) in Urlaub oder wo auch immer. Wäre nett wenn von euch ein paar einen Blick auf diesen Code werfen könnten... immerhin sehen viele augen mehr als nur zwei. Der Parse error ist ein unexpected $ in der Zeile nach der Letzten.
    Danke schonmal im Voraus

    ~derder

  • habe die Anzahl der Klammern schon 3 mal geprüft, ich komm bald nicht mehr klar... die connect.php ist folgende:

    PHP
    <?php
    $mysql = mysql_connect("localhost", "benutzer", "Passwort");
    mysql_select_db("datenbank");
    ?>

  • Was zum Geier ist das ??

    Post Scriptum: Ich empfehle dir einen Editor mit Syntax Highlighting zu nutzen, dann hättest du den Fehler selbst gefunden.

  • Zitat

    Post Scriptum: Ich empfehle dir einen Editor mit Syntax Highlighting zu nutzen, dann hättest du den Fehler selbst gefunden.

    Ich widersprech dir ungern... aber ich benutze einen. Das mein PHP perfekt ist will ich nicht annähernd behaupten. Das Syntax Highlighting ist aktiviert, funktioniert und trotzdem seh ich den fehler noch nicht.

    Trotzdem danke für die Mühe und ein noch größeres Danke bekommst du, wenn du mir den fehler noch nennst. Mag sein dass ich heute besonders blind bin, aber wer hat solche Tage nicht?

  • if ($_SERVER['REQUEST_METHOD'] != 'POST')
    {
    echo <<<formular
    <form action='$action' method='post'>
    Passwort

    <input type='password' name='passwort'>

    <input type='submit'>

    formular;
    }

    Was sollen denn diese 3 spitzen Klammern auf bewirken? Schau dir mal den echo Befehl in php nochmals an!
    Warum schreibst du über und unter dein Formular formular? Wenn das da stehen soll, dann schriebs doch wenigstens groß!

    Ich seh grad, dass du alle echo Befehle falsch aufrufst.

  • ich bin grade sehr verdutzt... ich habe von meinem eigenene quelltext geklaut...

    Zitat

    echo <<<form
    <form action='$action' method='post'>
    Titel

    <input type='text' name='name'>

    Nachricht

    <textarea name='content' rows='25' cols='125'></textarea>
    <input type='submit'>

    form;

    der funktioniert, den habe ich schonmal so benutzt... warum funktioniert der andere nicht?!?!?

  • Heredoc
    Eine andere Möglichkeit Strings einzufassen, besteht im Gebrauch der heredoc-Syntax ("<<<"). Hierfür ist nach <<< ein Bezeichner zu setzen. Nun folgt der eigentliche String und dann derselbe Bezeichner um den String abzuschließen.

    Der schließende Bezeichner muss in der ersten Spalte der Zeile stehen. Die verwendeten Bezeichner müssen den gleichen Regeln entsprechen wie alle anderen PHP-Labels auch: Sie dürfen lediglich alphanumerische Zeichen und den Unterstrich enthalten und müssen mit einem Unterstrich oder einem Buchstaben beginnen.

    Warnung:
    Es ist sehr wichtig zu beachten, dass die Zeile mit dem schließenden Bezeichner keine anderen Zeichen enthält, ausgenommen möglicherweise ein Semikolon ( ; ). Das bedeuted im Besonderen, dass der Bezeichner nicht eingerückt werden darf und es dürfen keine Leerzeichen oder Tabulatoren vor oder nach dem Semikolon stehen. Außerdem ist es wichtig, zu beachten, dass das erste Zeichen vor dem schließenden Bezeichner ein der Definition Ihres Betriebssystems entsprechender Zeilenvorschub, sein muss. Das ist zum Beispiel auf einem Macintosh ein \r.

    Falls diese Regel gebrochen wird und der schließende Bezeichner nicht "sauber" ist, wird er nicht als schließender Bezeichner betrachtet und PHP wird weiter danach suchen. Wird in diesem Fall kein korrekter schließender Bezeichner gefunden, gibt es einen Parser-Fehler mit der Zeilennummer vom Ende des Skripts.

    Heredoc-Text funktioniert wie ein String innnerhalb doppelter Anführungszeichen, nur ohne doppelte Anführungszeichen. Anführungszeichen innerhalb von heredoc-Texten müssen also keiner Sonderbehandlung (escapen) unterzogen werden, aber Sie können dennoch die oben aufgeführten Escape-Anweisungen verwenden. Variablen werden ausgewertet, aber besondere Aufmerksamkeit muss komplexen Variablen gewidmet werden, genau wie bei Strings.

  • argl... das kommt nun also davon wenn man alles sauber mit tabulatoren einrückt... brauch ich mich ja nicht wundern wenn nichts funktioniert...