PHP-Code im Browser sichtbar machen – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self PHP-Code im Browser sichtbar machen Sat, 12 Feb 22 12:18:14 Z https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796118#m1796118 https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796118#m1796118 <p>Hallo zusammen,</p> <p>war letztlich vor einem Jahr hier und nun geht es weiter und ich hoffe auf eure geschätzte Hilfe.</p> <p>Nachfolgender Code zeigt mir in Rapid php das an, was ich gerne hätte. Aber nun fehlt mir wie ich es im Browser darstellen könnte. Könnte mir da jemand einen Tipp geben?</p> <p>Besten Dank im Voraus</p> <p>Gruß D.G.</p> <pre><code class="block language-php"><span class="token doctype"><span class="token punctuation"><!</span><span class="token doctype-tag">DOCTYPE</span> <span class="token name">html</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>html</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>head</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>meta</span> <span class="token attr-name">charset</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>utf-8<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>title</span><span class="token punctuation">></span></span>DocSafety<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>title</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>title</span><span class="token punctuation">></span></span>Hello!<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>title</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>head</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>body</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>label</span> <span class="token attr-name">for</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>Produktauswahl<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Produktauswahl<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>label</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>select</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>produktname<span class="token punctuation">"</span></span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>produktname<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>option</span><span class="token punctuation">></span></span>Produktname<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>option</span><span class="token punctuation">></span></span> <span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token variable">$HostName</span> <span class="token operator">=</span> <span class="token string single-quoted-string">'___.___._.__'</span><span class="token punctuation">;</span> <span class="token variable">$mysqli</span> <span class="token operator">=</span> @<span class="token keyword">new</span> <span class="token class-name">mysqli</span><span class="token punctuation">(</span><span class="token variable">$HostName</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"root"</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">""</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"test"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$KuCBA</span> <span class="token operator">=</span><span class="token string single-quoted-string">'afb'</span><span class="token punctuation">;</span> <span class="token variable">$result</span> <span class="token operator">=</span> <span class="token variable">$mysqli</span><span class="token operator">-></span><span class="token function">query</span><span class="token punctuation">(</span><span class="token string double-quoted-string">"SELECT Produktname, ArtNr, Ziel, AuftragID FROM label"</span> <span class="token operator">.</span> <span class="token string double-quoted-string">" WHERE label.cba = '<span class="token interpolation"><span class="token variable">$KuCBA</span></span>'"</span> <span class="token operator">.</span> <span class="token string double-quoted-string">" ORDER BY Produktname"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$row</span> <span class="token operator">=</span> <span class="token variable">$result</span><span class="token operator">-></span><span class="token function">fetch_assoc</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">while</span> <span class="token punctuation">(</span><span class="token variable">$dsatz</span> <span class="token operator">=</span> <span class="token variable">$result</span><span class="token operator">-></span><span class="token function">fetch_assoc</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">echo</span> <span class="token string double-quoted-string">"<option>"</span><span class="token operator">.</span> <span class="token function">htmlspecialchars</span><span class="token punctuation">(</span><span class="token variable">$dsatz</span><span class="token punctuation">[</span><span class="token string double-quoted-string">"Produktname"</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"</option>"</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token variable">$result</span><span class="token operator">-></span><span class="token function">close</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$mysqli</span><span class="token operator">-></span><span class="token function">close</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token delimiter important">?></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>body</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>html</span><span class="token punctuation">></span></span> </code></pre> PHP-Code im Browser sichtbar machen Sat, 12 Feb 22 12:57:08 Z https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796120#m1796120 https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796120#m1796120 <p>Das genannte Problem ist trivial. Im einfachsten Fall öffnest Du das PHP-Skript als Datei und ersetzt alle Vorkommen von <code><</code> und <code>></code> durch die Entitys:</p> <pre><code class="block language-php"><span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token comment">### File: showFile.php</span> <span class="token variable">$FileName</span><span class="token operator">=</span><span class="token string double-quoted-string">"test.php"</span><span class="token punctuation">;</span> <span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token function">is_readble</span><span class="token punctuation">(</span> <span class="token variable">$FileName</span> <span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">echo</span> <span class="token string single-quoted-string">'<pre><code>'</span> <span class="token operator">.</span> <span class="token function">htmlspecialchars</span><span class="token punctuation">(</span> <span class="token function">file_get_contents</span><span class="token punctuation">(</span> <span class="token variable">$FileName</span> <span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string single-quoted-string">'<code></pre>'</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span> <span class="token function">trigger_error</span><span class="token punctuation">(</span> <span class="token string single-quoted-string">'Fatal: Die Datei "'</span> <span class="token operator">.</span> <span class="token variable">$FileName</span> <span class="token operator">.</span> <span class="token string single-quoted-string">'" konnte nicht gelesen werden.'</span><span class="token punctuation">,</span> <span class="token constant">E_USER_ERROR</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> </span></code></pre> <p>Das ist der simple Teil. Schwieriger ist es, <strong>dafür zu sorgen, dass die Anzeige von unerlaubten Dateien nicht stattfindet (SEHR WICHTIG!)</strong> - oder eine Syntaxhervorhebung zu integrieren.</p> <p><strong>Mehr dazu hier:</strong></p> <ul> <li><a href="https://wiki.selfhtml.org/wiki/HTML/Tutorials/Code_in_HTML_darstellen" rel="nofollow noopener noreferrer">HTML/Tutorials/Code in HTML darstellen</a></li> <li><a href="https://sourceforge.net/projects/geshi/" rel="nofollow noopener noreferrer">GeSHi - Generic Syntax Highlighter</a></li> </ul> <p>Einer weitere, einfache und sichere Möglichkeit besteht darin, die Datei mit der Endung '.phps' abzulegen und den Apache Webserver wie folgt zu konfigurieren:</p> <pre><code class="block"><FilesMatch ".+\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> </code></pre> <p>und dann einfach auf diese Datei mit der Endung '.phps' zu verlinken.</p> <p>Wenn es Dein Server ist, dann kannst Du in einer Shell auf einem unixoiden Server mittels</p> <pre><code class="block language-bash"><span class="token builtin class-name">cd</span> /etc/apache2<span class="token punctuation">;</span> <span class="token function">grep</span> <span class="token parameter variable">-Rn</span> phps *<span class="token punctuation">;</span> </code></pre> <p>herausfinden, ob obige Konfiguration (die übrigens den Voreinstellungen entspricht) schon eingetragen wurde. <strong>Hint:</strong> Unter RedHat-artigen Linuxen kann das auch im Ordner <code>/etc/httpd/</code> oder <code>/etc/httpd2/</code> erfolgt sein…</p> <p><strong>Wenn es so ist, genügt es, die Datei mit der Endung '.phps' abzulegen und abzurufen.</strong></p> PHP-Code im Browser sichtbar machen Sat, 12 Feb 22 14:06:28 Z https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796128#m1796128 https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796128#m1796128 <p>Lieber Schröder,</p> <blockquote> <p>wie ich es im Browser darstellen könnte.</p> </blockquote> <p>was genau meinst Du damit? Dass man PHP-Code sehen kann, oder dass man die Inhalte Deiner Datenabfrage sinnvoll angezeigt bekommt?</p> <blockquote> <pre><code class="block language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>body</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>label</span> <span class="token attr-name">for</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>Produktauswahl<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Produktauswahl<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>label</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>select</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>produktname<span class="token punctuation">"</span></span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>produktname<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>option</span><span class="token punctuation">></span></span>Produktname<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>option</span><span class="token punctuation">></span></span> <span class="token prolog"><?php [...] ?></span> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>body</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>html</span><span class="token punctuation">></span></span> </code></pre> </blockquote> <p>Da fehlt so manches. Einmal ist das <code class="language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>select</span><span class="token punctuation">></span></span></code> nicht geschlossen worden. Das ist nicht schön. Und außerdem hätte es von der Semantik her einen Sinn, das Label in ein passendes Textelement zu setzen. Entweder <code class="language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>p</span><span class="token punctuation">></span></span></code> oder <code class="language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>li</span><span class="token punctuation">></span></span></code> bieten sich an. Letzteres benötigt zusätzlich ein <code class="language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>ul</span><span class="token punctuation">></span></span></code>, damit der Listenpunkt einen Sinn hat. Aber wahrscheinlich hast Du nur die ganzen formularbezogenen Anteile aus dem Beispiel entfernt, um es auf das Problem zu reduzieren.</p> <p>Viel schlimmer ist, dass der Inhalt des <code>for</code>-Attributs zu keinem <code>id</code>-Wert passt. Dein Label gehört also zu keinem Formularelement, welches es bezeichnet: <code>for="Produktauswahl"</code> [...] <code>id="produktname"</code>. Das kann man aber leicht reparieren.</p> <p>Liebe Grüße</p> <p>Felix Riesterer</p> PHP-Code im Browser sichtbar machen Sat, 12 Feb 22 15:44:02 Z https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796134#m1796134 https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796134#m1796134 <p>Hello,</p> <p>dafür hat PHP die Funktion <a href="https://www.php.net/manual/en/function.highlight-file" rel="nofollow noopener noreferrer">highlight_file().</a></p> <p>Glück Auf<br> Tom vom Berg</p> <div class="signature">-- <br> Es gibt nichts Gutes, außer man tut es!<br> Das Leben selbst ist der Sinn. </div> (Nachtrag zu .phps) Sat, 12 Feb 22 13:37:30 Z https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796123#m1796123 https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796123#m1796123 <blockquote> <pre><code class="block language-bash"><span class="token builtin class-name">cd</span> /etc/apache2<span class="token punctuation">;</span> <span class="token function">grep</span> <span class="token parameter variable">-Rn</span> phps *<span class="token punctuation">;</span> </code></pre> <p>herausfinden, ob obige Konfiguration (die übrigens den Voreinstellungen entspricht) schon eingetragen wurde. <strong>Hint:</strong> Unter RedHat-artigen Linuxen kann das auch im Ordner <code>/etc/httpd/</code> oder <code>/etc/httpd2/</code> erfolgt sein…</p> <p><strong>Wenn es so ist, genügt es, die Datei mit der Endung '.phps' abzulegen und abzurufen.</strong></p> </blockquote> <p>Allerdings kann es sein, dass in der voreingestellten Konfiguration der Zugriff verboten ist:</p> <pre><code class="block"><FilesMatch ".+\.phps$"> SetHandler application/x-httpd-php-source # Deny access to raw php sources by default # To re-enable it's recommended to enable access to the files # only in specific virtual host or directory Require all denied </FilesMatch> </code></pre> <p>Man kann den Zugriff und die Anzeige der „phps-Dateien“ also, wenn der Hoster es dem Kunde erlaubt, wieder erlauben.</p> <ul> <li><a href="https://home.fastix.org/Tests/userinfo.phps" rel="nofollow noopener noreferrer">So sieht das aus.</a></li> </ul> PHP-Code im Browser sichtbar machen Sun, 13 Feb 22 07:05:25 Z https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796144#m1796144 https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796144#m1796144 <p>@@Raketenwilli</p> <blockquote> <p>Einer weitere, einfache und sichere Möglichkeit besteht darin, die Datei mit der Endung '.phps' abzulegen</p> </blockquote> <p>Wieder was gelernt.</p> <blockquote> <p>und den Apache Webserver wie folgt zu konfigurieren:</p> </blockquote> <p>Hat mein Hoster wohl schon so gemacht. <a href="https://bittersmann.de/startrek/series/index-no-heredoc.phps" rel="nofollow noopener noreferrer">Funzt.</a></p> <p>Die Umwandlung in HTML nebst Syntax-Highlighting findet serverseitig statt?</p> <p>Mit Heredoc-Syntax kommt das Ding abosolut nicht klar, <a href="https://bittersmann.de/startrek/series/index.phps" rel="nofollow noopener noreferrer">guckst du</a>. (<strong>Edit:</strong> Problem durch <a href="https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796149#m1796149" rel="noopener noreferrer">MudGuards Antwort</a> behoben.)</p> <p>Da kann man nichts machen?</p> <p> LLAP</p> <div class="signature">-- <br> <em>„Dann ist ja auch schrecklich, dass wir in einem Land leben, in dem nicht nur Bildungswillige leben, sondern auch hinreichende Zahlen von Bekloppten. Das darf ich so locker formulieren, ich bin ja jetzt Rentner und muss nicht mehr auf jedes Wort achten.“</em><br> — Joachim Gauck über Impfgegner </div> PHP-Code im Browser sichtbar machen Sat, 12 Feb 22 15:08:33 Z https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796130#m1796130 https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796130#m1796130 <p>Hallo zusammen und erst einmal besten Dank.</p> <p>Ich komme aus der Access / VBA - Welt und bin dabai meinen Büro-Server mittels PHP/MYSQL in Bewegung zubringen. Ich versuche Eure Infos jetzt erst einmal zu (verarbeiten)/verdauen.</p> <p>Noch ein schönes Wochenende.</p> <p>Gruß D.G.</p> PHP-Code im Browser sichtbar machen Sat, 12 Feb 22 15:22:00 Z https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796131#m1796131 https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796131#m1796131 <p>Hallo Schröder,</p> <p>was tatsächlich dein Problem ist, ist zumindest mir immer noch nicht klar.</p> <p>Fehlt Dir Dir Info, wie Du deinen Webserver dazu bringst, das PHP Script auszuführen und seine Ausgabe an den Browser zu schicken? Dazu wäre vor allem die Info wichtig, welchen Webserver zu verwendest. Apache? IIS? nginx? Was anderes?</p> <p>Oder weißt Du nicht, wie Du deinen PHP Code auf deinen Server bringst?</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - obstruxi </div> PHP-Code im Browser sichtbar machen Sat, 12 Feb 22 15:22:37 Z https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796132#m1796132 https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796132#m1796132 <p>Hallo,</p> <blockquote> <p>Ich komme aus der Access / VBA - Welt und bin dabai meinen Büro-Server mittels PHP/MYSQL in Bewegung zubringen. Ich versuche Eure Infos jetzt erst einmal zu (verarbeiten)/verdauen.</p> </blockquote> <p>trotzdem könnte es nicht schaden, die Frage noch zu beantworten, die Felix aufgeworfen hat (und die auch mich beschäftigt hat): Willst du wirklich, wie im Titel formuliert, PHP-Code im Browser anzeigen? Oder doch eher <em>die Ausgabe</em> des PHP-Codes?</p> <p>Ich vermute eher letzteres; den PHP-Code als solchen im Browser anzuzeigen, ist relativ untypisch. Aber der Raketentechniker scheint genau das verstanden zu haben. Ergo: Klärungsbedarf.</p> <p>Das unvollständige HTML ist noch eine andere Baustelle.</p> <p>Immer eine Handbreit Wasser unterm Kiel<br>  Martin</p> <div class="signature">-- <br> The taste of love: The more you get, the more you want<br> (aus <em>The Lightning Seeds: Sense</em>) </div> PHP-Code im Browser sichtbar machen Sun, 13 Feb 22 10:20:39 Z https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796145#m1796145 https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796145#m1796145 <p>Hi,</p> <blockquote> <p>Mit Heredoc-Syntax kommt das Ding abosolut nicht klar, <a href="https://bittersmann.de/startrek/series/index-no-heredoc.phps" rel="nofollow noopener noreferrer">guckst du</a>.</p> </blockquote> <p>wo sollte da Heredoc sein?</p> <p>cu,<br> Andreas a/k/a MudGuard</p> PHP-Code im Browser sichtbar machen Sun, 13 Feb 22 10:23:59 Z https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796147#m1796147 https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796147#m1796147 <p>@@MudGuard</p> <blockquote> <blockquote> <p>Mit Heredoc-Syntax kommt das Ding abosolut nicht klar, <a href="https://bittersmann.de/startrek/series/index-no-heredoc.phps" rel="nofollow noopener noreferrer">guckst du</a>.</p> </blockquote> <p>wo sollte da Heredoc sein?</p> </blockquote> <p>Oops, ich hatte die URLs in den beiden Links vertauscht. Jetzt berichtigt, <a href="https://bittersmann.de/startrek/series/index.phps" rel="nofollow noopener noreferrer">guckst du</a>.</p> <p> LLAP</p> <div class="signature">-- <br> <em>„Dann ist ja auch schrecklich, dass wir in einem Land leben, in dem nicht nur Bildungswillige leben, sondern auch hinreichende Zahlen von Bekloppten. Das darf ich so locker formulieren, ich bin ja jetzt Rentner und muss nicht mehr auf jedes Wort achten.“</em><br> — Joachim Gauck über Impfgegner </div> PHP-Code im Browser sichtbar machen Sun, 13 Feb 22 10:29:49 Z https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796149#m1796149 https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796149#m1796149 <p>Hi,</p> <blockquote> <p>Oops, ich hatte die URLs in den beiden Links vertauscht. Jetzt berichtigt, <a href="https://bittersmann.de/startrek/series/index.phps" rel="nofollow noopener noreferrer">guckst du</a>.</p> </blockquote> <p>ah, da ist Heredoc, ich dachte schon, Du machst den RolfHorst und definierst Fachbegriffe einfach mal um …</p> <p>Schon mal probiert, das beendende EOT an den Zeilenanfang zu setzen?<br> Ich weiß, ist nicht mehr notwendig seit 7.3.0, aber wer weiß, ob das dieser Parser auch schon weiß?</p> <p>cu,<br> Andreas a/k/a MudGuard</p> PHP-Code im Browser sichtbar machen Sun, 13 Feb 22 10:36:56 Z https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796150#m1796150 https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796150#m1796150 <p>@@MudGuard</p> <blockquote> <blockquote> <p>Oops, ich hatte die URLs in den beiden Links vertauscht. Jetzt berichtigt, <a href="https://bittersmann.de/startrek/series/index.phps" rel="nofollow noopener noreferrer">guckst du</a>.</p> </blockquote> <p>ah, da ist Heredoc, ich dachte schon, Du machst den RolfHorst und definierst Fachbegriffe einfach mal um …</p> </blockquote> <p>Diese Unterstellung nehme ich persönlich!!1elf</p> <blockquote> <p>Schon mal probiert, das beendende EOT an den Zeilenanfang zu setzen?</p> </blockquote> <p>Danke, das hat geholfen.</p> <blockquote> <p>Ich weiß, ist nicht mehr notwendig seit 7.3.0, aber wer weiß, ob das dieser Parser auch schon weiß?</p> </blockquote> <p>Dummer Parser, der.</p> <p> LLAP</p> <div class="signature">-- <br> <em>„Dann ist ja auch schrecklich, dass wir in einem Land leben, in dem nicht nur Bildungswillige leben, sondern auch hinreichende Zahlen von Bekloppten. Das darf ich so locker formulieren, ich bin ja jetzt Rentner und muss nicht mehr auf jedes Wort achten.“</em><br> — Joachim Gauck über Impfgegner </div> Serie: „Und wieder was gelernt“ - Heute: PHP heredoc und Einrückungen Sun, 13 Feb 22 14:32:55 Z https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796158#m1796158 https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796158#m1796158 <blockquote> <p>Schon mal probiert, das beendende EOT an den Zeilenanfang zu setzen? Ich weiß, ist nicht mehr notwendig seit 7.3.0,</p> </blockquote> <p>Ok. Das war mir neu.</p> <p><strong>Also testen!</strong></p> <pre><code class="block bad language-php"><span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token keyword">echo</span> <span class="token operator"><<</span><span class="token operator"><</span><span class="token constant">FOOTER</span> <span class="token operator"><</span><span class="token operator">/</span>body<span class="token operator">></span> <span class="token operator"><</span><span class="token operator">/</span>html<span class="token operator">></span> <span class="token constant">FOOTER</span><span class="token punctuation">;</span> </span></code></pre> <p><strong>Ergebnis:</strong> Fehler!</p> <blockquote> <p>Parse error: Invalid body indentation level (expecting an indentation level of at least 2)</p> </blockquote> <p>Hm. <a href="https://www.php.net/manual/de/language.types.string.php#language.types.string.syntax.heredoc" rel="nofollow noopener noreferrer">Nachlesen</a>.</p> <pre><code class="block language-php"><span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token keyword">echo</span> <span class="token string heredoc-string"><span class="token delimiter symbol"><span class="token punctuation"><<<</span>FOOTER</span> </body> </html> <span class="token delimiter symbol">FOOTER<span class="token punctuation">;</span></span></span> </span></code></pre> <p><strong>Ergebnis:</strong> Nicht optimal.</p> <pre><code class="block language-html"> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>body</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>html</span><span class="token punctuation">></span></span> </code></pre> <p>Aber laut Handbuch darf die Weite der Einrückungen die des umfassten Textes (gemeint wohl die am wenigsten eingerückte Zeile) nicht überschreiten. Was passiert eigentlich, wenn ich das <strong>genau</strong> nehme?</p> <pre><code class="block good language-php"><span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token keyword">echo</span> <span class="token operator"><<</span><span class="token operator"><</span><span class="token constant">FOOTER</span> <span class="token operator"><</span><span class="token operator">/</span>body<span class="token operator">></span> <span class="token operator"><</span><span class="token operator">/</span>html<span class="token operator">></span> <span class="token constant">FOOTER</span><span class="token punctuation">;</span> </span></code></pre> <p><strong>Ergebnis:</strong> Suppi!</p> <pre><code class="block language-html"> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>body</span><span class="token punctuation">></span></span> <span class="token tag"><span class="token tag"><span class="token punctuation"></</span>html</span><span class="token punctuation">></span></span> </code></pre> <p><strong>Bingo! PHP korrigiert dann die Einrückung!</strong></p> <ul> <li>view-source:https://home.fastix.org/Tests/userinfo.php</li> <li>https://home.fastix.org/Tests/userinfo.phps (Das ist „harter“ Link auf die userinfo.php)</li> </ul> <p>Das kann man gebrauchen um wenig Streß beim Abgleich der Einrücktiefe zwischen PHP und dem resultierenden HTML zu haben. Macht die Sache übersichtlicher.</p> <p><strong>Wieder was Nützliches gelernt!</strong></p> <p>Nachtrag: Der Apache kann es übrigens als PHP-Source darstellen:</p> <p><a href="/images/c6918950-8cda-11ec-b40e-b42e9947ef30.png" rel="noopener noreferrer"><img src="/images/c6918950-8cda-11ec-b40e-b42e9947ef30.png?size=medium" alt="Heredoc mir Einrückungen, Ansicht als PHP-Source im Apache" title="Heredoc mir Einrückungen, Ansicht als PHP-Source im Apache" loading="lazy"></a></p> PHP-Code im Browser sichtbar machen Sun, 13 Feb 22 10:46:49 Z https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796151#m1796151 https://forum.selfhtml.org/self/2022/feb/12/php-code-im-browser-sichtbar-machen/1796151#m1796151 <p>Hi,</p> <blockquote> <blockquote> <p>ah, da ist Heredoc, ich dachte schon, Du machst den RolfHorst und definierst Fachbegriffe einfach mal um …</p> </blockquote> <p>Diese Unterstellung nehme ich persönlich!!1elf</p> </blockquote> <p>Die Gedanken sind frei …</p> <blockquote> <blockquote> <p>Ich weiß, ist nicht mehr notwendig seit 7.3.0, aber wer weiß, ob das dieser Parser auch schon weiß?</p> </blockquote> <p>Dummer Parser, der.</p> </blockquote> <p>oder nur veraltet?</p> <p>cu,<br> Andreas a/k/a MudGuard</p>