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 IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 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, 1159 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.

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

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.

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 ...

PHP
SQL Statement als email versenden
Frage von jensgebkenPHP21 Kommentare

Hallo Gemeinschaft, habe folgendes Problem - möchte den Inhalt eines Statements in eine Email bekommen - könnt ihr mir ...

Neue Wissensbeiträge
Microsoft
The Premier Field Engineering Blog is MOVING!
Information von Dani vor 6 StundenMicrosoft

Hello to all of our AWESOME readers that have helped us build the Premier Field Engineering TechCommunity blog up ...

Sicherheit
Alexa un Co. TU-Darmstadt entwickelt Anti-Spy Tool
Information von the-buccaneer vor 1 TagSicherheit3 Kommentare

Moinsen! HR-Info hatte heute ein Feature in dem das "LeakyPick" der TH-Darmstadt vorgestellt wurde. Das Tool existiert bisher nur ...

Linux Tools
Rsync datenvolumen reduzieren mit -fuzzy
Anleitung von NetzwerkDude vor 3 TagenLinux Tools

Moin, aus der Kategorie "Häufig übersehene Parameter": Meistens benutzt kaum jemand den fuzzy Parameter von rsync, und er taucht ...

Sicherheit

Citrix ADC, Gateway u. SD-Wan: Schwachstellen patchen

Information von kgborn vor 5 TagenSicherheit

Keine Ahnung, wie viele Admins von Citrix-Applicances hier unterwegs sind und ob die Versorgung mit Advisories klappt. Aber im ...

Heiß diskutierte Inhalte
Windows Server
Anmelden via RDP bringt "Passwort fehlerhaft" - lokale Anmeldung möglich
Frage von it-froschWindows Server21 Kommentare

Hallo Kollegen, Windows Server 2012 Wir haben einen Server, an dem wir uns mit einem lokalen Account anmelden. Die ...

Festplatten, SSD, Raid
Backup einer an die FRITZBox angeschlossenen Festplatte
Frage von DJ-KeyFestplatten, SSD, Raid19 Kommentare

Habe eine Frstplatte, die mehrere Partitionen beherbergt. Die Festplatte die an der FRITZ!Box als NAS dient ist schon älter ...

Exchange Server
Exchange CAL Lizenzen?
gelöst Frage von KleinProfiExchange Server16 Kommentare

Hallo Jungs, wir sind in der Firma 10 Mann, haben aber auf dem Exchange 15 Postfächer bzw. 15 User ...

Mac OS X
Komische Namen und Dateiendungen
gelöst Frage von Michael71Mac OS X14 Kommentare

Moin zusammen, wir haben in unserer Firma nur Mac Rechner und Speichern unsere Daten in einer Senology Nas worauf ...