PHP Funktion in Text ausführen, welcher aus Datenbank ausgelesen wird?

4 Antworten

doch diese Funktion wird leider nicht ausgeführt und wird auskommentiert.

Dann mach die Kommentarzeichen weg. Wer kommentiert das denn aus?

Alex


fabe278 
Fragesteller
 01.08.2019, 09:41

<!--?php echo $oeffnungszeitenAusgeben; ?-->

0
EinAlexander  01.08.2019, 17:16
@fabe278

Wenn die Öffnungszeiten ausgegeben werden sollen muss das entweder so aussehen:

<?php echo $oeffnungszeitenAusgeben; ?>

oder in der Kurzscheribweise so:

<?=$oeffnungszeitenAusgeben?>
0

Hi,

normalerweise wird ein Text aus einer Datenbank als Text behandelt und nicht als php code.

Das ist prinzipiell wichtig für die Sicherheit eines Systems. Stell dir vor, jemand schreibt auf einer Seite wie dieser (gutefrage.net) php Code in eine Antwort und dieser wird ausgeführt anstatt ausgegeben. Dann könnte ja jeder hier machen was er will.

Was du suchst, ist eine Funktion wie eval()

https://www.php.net/manual/de/function.eval.php

Aber Vorsicht! PHP Code in die Datenbank zu schreiben und diesen dann auch auszuführen ist weder ein sichere, noch eine saubere Art, eine System zu programmieren.

Besser ist, du schreibst in die Datenbank nur eine Ziffer und wertest diese mittels if/else oder swich/case in php aus. Beispiel:

if ($result == '1')

{

oeffnungszeitenAusgeben();

}

elseif($result == '2')

{

andereZeitenAusgeben();

}

und so weiter

Viel Erfolg,

T.

$db = new mysqli ('localhost', 'benutzer', 'passwort',' Datenbankname'),

$sql = "SELECT * FROM Tabellennamen";

$query = mysqli_query($db,$sql);

$row = mysqli_fetch_array($query);

$oeffnungszeitenAusgeben = $row['Name von Oeffnungszeiten was in der Tabelle steht'];

<?php echo "$oeffnungszeitenAusgeben"; ?>

Woher ich das weiß:Hobby – Viele YouTube Tutorials

Wenn deine Funktion die Struktur hat dann ist es richtig:

 <?php
         /* Defining a PHP Function */
         function writeMessage() {
            echo "Ich bin eine Nachricht!";
         }
         
         /* Calling a PHP Function */
         writeMessage();
      ?>

Ansonsten würde es helfen den Quelltext zu sehen ansonsten wird es schwer dir zu helfen.

Woher ich das weiß:Studium / Ausbildung