Frage von BPTVEu, 39

PHP-Include nach HTML?

Ich weiß nicht, ob man versteht was ich meine, aber ich möchte gerne nach einem HTML Code über dieses Script:

        $var=$_GET['p']; 
        $file ="$var.html"; 
        include($file);
        ?>

Unter dem HTML-Code (in meinem Fall ein paar Bilder) die Seite aus der Variable mit ?p=(Variable) Anzeigen. Ich hoffe mein Wunsch war verständlich. Ich habe die veerschiedensten Methoden ausprobiert, aber nie hat er die Bilder aus HTML angezeigt.

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von RakonDark, 39

include ist nicht für html gedacht ,

weil dann würde HTML im PHP bereich sein , das gibt dann ein error

wenn du html einbinden willst, musst du das file einlesen

$a = file_get_contents("$var.html");

echo $a;

siehe http://php.net/manual/de/function.file-get-contents.php

du solltest auch mal die fehlermeldung einschalten , dann würde dir der php interpreter dir sagen wo der fehler ist .

Antwort
von Sawascwoolf, 33

Hi,

zum ersten, dein Code ist wirklich nicht schön und birgt einiges an Missbrachspotential.

Deine Vorgehensweise sollte folgendermaßen sein:

//list of all possible files
$files = array('impressum','aboutme');
if (isset($_GET['p'])) {
if (!in_array($_GET['p'],$files)) {
echo "Ungültige Auswahl";
} else {
include ($files[array_search($_GET['p'],$files)] . '.html');
}
}

Die komplexe Formulierung in der include-Zeile ist prinzipiell überflüssig, macht allerdings deutlich, dass du mögliche Risiken durch Benutzereingaben bedacht und entsprechend berücksichtigt hast.

Die Bilder werden vermutlich nicht korrekt angezeigt, da etwas mit den relativen Pfadangaben nicht mehr passt. Ich schätze mal du includierst eine Datei aus einem anderen Ordner.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten