php if variable = true then html button?
Hey,
Ich will machen, dass in meiner php Datei ein Button angezeigt wird, wenn etwas in php passiert.
if($_SESSION["username"] != "ironflipper") {
html knopf
}
Ich will, dass dann dort drin ein Knopf erstellt wird. Da es aber php ist, kann ich dort kein HTML Code einfuegen
Wie soll ich das machen?
3 Antworten
Da es aber php ist, kann ich dort kein HTML Code einfuegen
Sagt wer? PHP kann wunderbar als Template Language verwendet werden:
if($_SESSION["username"] != "ironflipper") {
echo "<button>Toller Button</button>";
}
Egal ob Text, HTML, CSS, JavaScript, oder sonst was - egal, was du über echo ausgibst, das kommt am Ende auf gleichem Wege beim Nutzer an und wird entsprechend vom Browser dann, wenn es HTML ist, auch als HTML gerendert.
echo "<a href="videos.php" class="btn btn-info">Videos (Premium)</a>";
Beim "videos.php" werden die " vom Anfang getrennt, daher ist es nicht mehr im Echo. Kann ich das auch anders loesen?
Jeglicher Text (sei es HTML-Code oder Ausgaben via echo/print/...) wandern in den Response Body. Die Auswertung des Texts erfolgt erst später, sobald er vom Browser empfangen wurde.
HTML und PHP können übrigens deutlicher voneinander getrennt werden.
<?php if ($_SESSION["username"] != "ironflipper"): ?>
<button>...</button>
<?php endif; ?>
Mit dieser Schreibweise wird dein HTML-Code in einem Editor mit Syntax Highlighting auch wie üblich als HTML erkannt.
Du kannst die Anführungszeichen maskieren.
echo "<a href=\"videos.php\" class=\"btn btn-info\">Videos (Premium)</a>";
Oder du verwendest noch zusätzlich einfache Anführungszeichen:
echo '<a href="videos.php" class="btn btn-info">Videos (Premium)</a>';
bruhh wusste nicht das JavaScript auch geht. Hab viel zeit verschwendet…
Echo html css war klar. Aber vergessen das javascript auch ein script tag hat
Am einfachsten lässt sich HTML so einfügen:
<?php if ($_SESSION["username"] != "ironflipper"): ?>
<button>Nicht Ironflipper</button>
<?php endif; ?>
Mit Echo.
echo "<button>KLICK</button>";
Achsooo, ich dachte echo ist nur fuer Text. Danke!