Like Tree1Danke
  • 1 Beitrag von Yaslaw
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
337
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    Fragenfrager ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Beiträge
    76
    Hallo liebes Forum,

    ich wollte einige meiner Codes lesbarer machen und auf HEREDOC umstellen. Zum Beispiel diesen hier:
    PHP-Code:
    <?php

    include("incs/funktionen.php");      // Funktion, die die Tabellen in den "Details" erstellt und füllt


    echo <<<HTML
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

      <head>
          <title>Userabfragen</title>
          <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> 
          
          <link rel="stylesheet" type="text/css" href="incs/style.css" />   
         
       
      </head>
      <body>
        <form action="index.php" method="post" accept-charset="ISO-8859-1">  <!-- Beginn des Formulars -->
          <table>
            <tr>
              <th>Userabfragen im ERP System</th>
            </tr>
            <tr>
              <td>
                <label for "suchbegriff">Suchbegriff</label> <input name="suchbegriff" type="text" size="30" maxlength="30" tabindex="1" />
                <input type="submit" value=" Absenden " tabindex="4"/>
              </td>
            </tr>     
            <tr>
              <td>
                <b>Anmerkungen:</b> Es wird immer mit Wildcards gesucht: "eyer" findet "Meyerbeer".<br />
               </td>
            </tr>     
          </table>
          
        </form>
    HTML;
    //es folgt noch mehr Code....
    Dabei erhalte ich dann den Fehler:
    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
    Nach Befragung der gängigen Suchmaschinen habe ich schon überprüft, ob nach dem
    PHP-Code:
    echo <<<HTML 
    ein Leerzeichen ist. Das ist nicht der Fall.
    Eigentlich sollte der HEREDOC-Inhalt doch relativ egal sein, oder?
    Habe ich da Denkfehler?
     

  2. #2
    Avatar von Yaslaw
    Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    7.044
    Welche PHP-Version hast du?
    Dein Code kurz mit PHP5.3.8 gestestet - funktioniert.
    Was immer wichtig ist, dass der End-Tag agnz vorne in der Zeile steht und nach dem ; keine Leerzeichen mehr folgen

    Code :
    1
    2
    3
    4
    5
    6
    
    -- Die Folgenden Zeile (ohne ') geht nicht
    '   HTML;'
    'HTML;     '
     
    -- Es muss immer so sein (ohne ')
    'HTML;'
    Fragenfrager bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements¨in PHP-Code kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit Code-Tags verwenden

  3. #3
    Fragenfrager ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Beiträge
    76
    Ich habe auch die 5.3.8 und nun die Lösung gefunden.
    Ich habe testweise einmal den Zeilenumbruch zwischen "echo <<<HTML" und "<!DOCTYPE ...." nicht mit <RETURN>, sondern mit <shift><RETURN> gemacht. Das müsste meinem Editor (PSPad) eigentlich egal sein, aber nun funktioniert es.
    Seltsame Lösung
     

  4. #4
    Avatar von Yaslaw
    Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    7.044
    Dann hattest du nach dem <<<HTML vom Shift-Enter noch irgend ein Sonderzeichen drin.
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements¨in PHP-Code kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit Code-Tags verwenden

Ähnliche Themen

  1. Antworten: 7
    Letzter Beitrag: 25.10.11, 08:29
  2. Wie weise ich nach: Browser Problem oder Code Problem?
    Von Steb im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 10.03.11, 20:09
  3. Antworten: 0
    Letzter Beitrag: 11.01.11, 21:40
  4. Antworten: 4
    Letzter Beitrag: 22.03.06, 20:50
  5. Antworten: 6
    Letzter Beitrag: 13.06.02, 12:29