PHP statements mit PHp erzeugen
Hallo zusammen,
ich habe eine Datei, in welcher per switch und case die Webseiten definiert werden, welche bei Aufruf einer definierten URL angezeigt werden sollen.
Bisher ist dieses auch ganz einfach, da die Webseiten Namen und dahinter liegenden Dateien statisch sind.
Diesen Eintrag habe ich in einer Datei mit de Namen siteconfig.php.
Nun muss ich weitere case Einträge erzeugen, allerdings mit Werten aus einer Datenbank.
Wie geht man das den am besten an?
Danke und Grüße
Lorderich
ich habe eine Datei, in welcher per switch und case die Webseiten definiert werden, welche bei Aufruf einer definierten URL angezeigt werden sollen.
Bisher ist dieses auch ganz einfach, da die Webseiten Namen und dahinter liegenden Dateien statisch sind.
Als Beispiel dafür:
case '/DE_Start':
$includePage = 'pages_de/DE_Start.php';
$title = "Testtitel";
$keyword = "Ein paar Keywords";
$description = "Ein Text als Beschreibung";
$sitetopic = "Und ein paar Sitetopic Einträge";
$author = "$Autor";
break;
Diesen Eintrag habe ich in einer Datei mit de Namen siteconfig.php.
Nun muss ich weitere case Einträge erzeugen, allerdings mit Werten aus einer Datenbank.
$sql = "SELECT Columen1, Columen2 devhrdb.userlist WHERE Usertype = 'Internal' AND MAStatus = 'AKTIV'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc())
{
---------------------------------------------------------------------------------------------------
Genau hier müsste ja jetzt pro Row aus der Datenbank ein neuer "case" Eintrag nach dem Muster wie oben enstehen. Allerdings stellt sich mir hier die Frage wie? Mit einem Echo statement ala
echo case "'/DE_".$row['Columen1']."':" habe ich bisher kein wirklichen Erfolg gehabt.
---------------------------------------------------------------------------------------------------
}
} else {
echo "";
}
Wie geht man das den am besten an?
Danke und Grüße
Lorderich
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 320792
Url: https://administrator.de/contentid/320792
Ausgedruckt am: 14.11.2024 um 01:11 Uhr
4 Kommentare
Neuester Kommentar
Du kannst dir den Code als Variable zusammenkonstruieren und per eval() ausführen.
Du musst dann aber ganz besonders gut sicherstellen, dass ALLE externen Daten besonders gut escaped oder gefiltert werden, da sonst unter umständen Code eines Angreifers ausgeführt werden kann.
Du musst dann aber ganz besonders gut sicherstellen, dass ALLE externen Daten besonders gut escaped oder gefiltert werden, da sonst unter umständen Code eines Angreifers ausgeführt werden kann.
<?php
$variable = 'echo "das ist ein test";';
eval($variable);
Hallo,
das ist quatsch so.
Du holst aus einer Datenbank alle Einträge die möglich sind und vergleichst diese einzeln.
Warum fragst Du nicht einfach die Datenbank? Die übernimmt solche Aufgabe liebend gerne.
Statt
case '/DE_Start':
lass die DB einfach nach dem Inhalt Deiner Variable welche Du bei Switch angibts suchen.
Stefan
das ist quatsch so.
Du holst aus einer Datenbank alle Einträge die möglich sind und vergleichst diese einzeln.
Warum fragst Du nicht einfach die Datenbank? Die übernimmt solche Aufgabe liebend gerne.
Statt
case '/DE_Start':
lass die DB einfach nach dem Inhalt Deiner Variable welche Du bei Switch angibts suchen.
Stefan
Sehe ich genau so, viel zu umständlich gedacht.
Du machst mit dem Pfad der URL eine SQL Query auf deine Datenbank, gibt es eine Eintrag lieferst du die Daten der Query entsprechend aus, wenn nicht, eine Fehlerseite. Ein Switch-Konstrukt ist hier also in keinem Fall nötig.
Das du die Daten wie Keyword, Title, Description etc. in die Datenbank legst sollte dann eigentlich klar sein.
Das was du vorhast macht man so in der Art nicht, dann bräuchtest du nämlich keine Datenbank ...
Gruß
Du machst mit dem Pfad der URL eine SQL Query auf deine Datenbank, gibt es eine Eintrag lieferst du die Daten der Query entsprechend aus, wenn nicht, eine Fehlerseite. Ein Switch-Konstrukt ist hier also in keinem Fall nötig.
Das du die Daten wie Keyword, Title, Description etc. in die Datenbank legst sollte dann eigentlich klar sein.
Das was du vorhast macht man so in der Art nicht, dann bräuchtest du nämlich keine Datenbank ...
Gruß