Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst PHP statements mit PHp erzeugen

Mitglied: Lorderich

Lorderich (Level 1) - Jetzt verbinden

12.11.2016, aktualisiert 23:18 Uhr, 781 Aufrufe, 4 Kommentare

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.

01.
Als Beispiel dafür: 
02.
case '/DE_Start':
03.
$includePage = 'pages_de/DE_Start.php';
04.
$title = "Testtitel";
05.
$keyword = "Ein paar Keywords";
06.
$description = "Ein Text als Beschreibung";
07.
$sitetopic = "Und ein paar Sitetopic Einträge";
08.
$author = "$Autor";
09.
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.

01.
$sql = "SELECT Columen1, Columen2 devhrdb.userlist WHERE Usertype = 'Internal' AND MAStatus = 'AKTIV'";
02.
$result = $conn->query($sql);
03.
if ($result->num_rows > 0) {
04.
    // output data of each row
05.
     while($row = $result->fetch_assoc())
06.
    {
07.
---------------------------------------------------------------------------------------------------
08.
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 
09.

10.
echo case "'/DE_".$row['Columen1']."':" habe ich bisher kein wirklichen Erfolg gehabt. 
11.
---------------------------------------------------------------------------------------------------
12.
   	}
13.
} else {
14.
    echo "";
15.
}
Wie geht man das den am besten an?

Danke und Grüße

Lorderich

Mitglied: LordGurke
LÖSUNG 13.11.2016 um 00:04 Uhr
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.

01.
<?php
02.

03.
$variable = 'echo "das ist ein test";';
04.

05.
eval($variable);
Bitte warten ..
Mitglied: StefanKittel
LÖSUNG 13.11.2016 um 00:36 Uhr
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
Bitte warten ..
Mitglied: 131381
LÖSUNG 13.11.2016, aktualisiert um 09:21 Uhr
Zitat von StefanKittel:
das ist quatsch so.
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ß
Bitte warten ..
Mitglied: Lorderich
14.11.2016, aktualisiert um 15:26 Uhr
Dank Eurer Hinweise habe ich es jetzt so gelöst:

$page = basename($_SERVER['PHP_SELF']); Ermittelt die aktuelle Seite
$errorPage = 'pages_de/DE_Error.php';
Definiert die Fehlerseite

$sql = "SELECT Vorname, Nachname, JobTitle, CV_URL_DocName from devhrdb.userlist WHERE CV_URL = '".$page."'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
output data of each row
while($row = $result->fetch_assoc())
{
$Fullname = $row["Vorname"] . " " . $row["Nachname"];
$title = $Fullname;
$description = $Fullname." - ".$row["JobTitle"];
$includePage = $row["CV_URL_DocName"];
$sitetopic = "1, 2, 3";
$keyword = "1,2,3";
$author = "$Autor";

}
} else {
if(isset($_GET['site']))
{
switch($_GET['site'])
{
$_GET['var'] um die Seite zu Identifizieren.
case '/DE_Start':
$includePage = 'pages_de/DE_Start.php';
$title = "Titel";
$keyword = "Keywords";
$description = "Seitenbeschreibung";
$sitetopic = "Sitetopic";
$author = "$Autor";
break;

// Standard bzw. Startseite
default:
$includePage = 'pages_de/DE_Start.php';
$title = "Titel";
$keyword = "Keywords";
$description = "Seitenbeschreibung";
$sitetopic = "Sitetopic";
$author = "$Autor";
}
} else {
$includePage = 'pages_de/DE_Start.php';
$title = "Titel";
$keyword = "Keywords";
$description = "Seitenbeschreibung";
$sitetopic = "Sitetopic";
$author = "$Autor";

}
if(isset($includePage) && file_exists($includePage))
{

}
else
{
include($errorPage);
}

};
?>
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell + SQL Statement
gelöst Frage von mschaedler1982Batch & Shell5 Kommentare

Hallo zusammen, Ich sitze hier gerade vor einem Problem, wo ich nicht so recht weiterkomme und im Internet habe ...

Batch & Shell
Powershell Problem IF Statement
gelöst Frage von copybyteBatch & Shell3 Kommentare

Hallo liebe Admins, ich bin neu in Powershell eingertiegen und habe mit Hilfe und Beispielen schon Einiges gebaut. Jetzt ...

Datenbanken
SQL Statement auseinandernehmen Like
gelöst Frage von H41mSh1C0RDatenbanken20 Kommentare

Hi@All, Ziel: Beim erstellen eines Reports existiert ein Feld in der eine bestimmte OU ausgewählt werden kann. Wird keine ...

VB for Applications

If Statement mit SaveFileDialog - Datei Überschreiben

gelöst Frage von gabrixlVB for Applications7 Kommentare

Hallo Zusammen Habe ein Problem mit dem SaveFileDialog. Ich möchte gern überprüfen ob der Benutzer, bei der Abfrage ob ...

Neue Wissensbeiträge
Windows Netzwerk

Ereignis-ID 20226 RasClient Ursachencode 829 VPN Verbindung wird abgebrochen

Anleitung von Hardstyles vor 4 TagenWindows Netzwerk

Hallo zusammen, nach Stundenlanger Analysen und test konnten wir den Fehler Lösen. es geht um folgende Fehler Meldung in ...

Windows 10

Windows 10 Version 1903: Update KB4522015 blockt VMware Workstation

Information von kgborn vor 8 TagenWindows 10

Nur eine kurze Information für Leute, die schon Windows 10 Version 1903 in Betrieb haben und dort VMware Workstation ...

VB for Applications

Fritzbox Telefonbuch - XML-Importdatei aus Excel erstellen

Tipp von PeterleB vor 8 TagenVB for Applications1 Kommentar

Das Thema geistert schon seit Jahren durch verschiedene Foren. Habe mich jetzt mal damit etwas intensiver befasst und hoffe, ...

Administrator.de Feedback
Entwicklertagebuch: Editor Version 6
Information von admtech vor 10 TagenAdministrator.de Feedback1 Kommentar

Hallo Administrator User, in der letzten Post habe ich über die berichtet. Hier will ich nun einen ersten Ausblick ...

Heiß diskutierte Inhalte
Windows Server
Dateioperationen bei Stromausfall
gelöst Frage von mkrausseWindows Server47 Kommentare

Ein wunderschönen guten Morgen! Ich hoffe das Thema wurde nicht schon Dutzendmal behandelt, aber eine Suche meinerseits hat leider ...

Netzwerkmanagement
Servername aus zugreifbaren Diensten auslesen
Frage von certifiedit.netNetzwerkmanagement18 Kommentare

Guten Morgen, folgende Überlegung: Ich habe einen (bisher) nicht identifizierbaren Server (IP liegt vor) mit den Diensten RPC; Netbios, ...

Batch & Shell
pdf - Dateien aus Netzwerkordner in bestimmter Reihenfolge ausdrucken
Frage von dani75chBatch & Shell17 Kommentare

Hallo zusammen Wir bekommen von einem Kunden dreimal täglich Lieferscheine und dazugehörende Listen und Barcodes in einen Netzwerkordner übermittelt. ...

Debian
Linux VM nach umzug langsam
Frage von bofh110Debian15 Kommentare

Hallo, ich habe meinen Server von 2012R2 auf 2019 neu installiert. Also erst die VM´s exportiert und anschließend nach ...