Hallo.
Wenn ich z.b. den Link <a href='index.php?show=polls'>Umfragen</a>
aufrufe
dann nimmt sich ein Skript per $_GET das show und ruft eine Klasse auf, die den Link überprüft und anschließend die Datei contents/poll.php includet.
Die CSS Datei wird in index.php oben wie folgt eingebunden:
<link rel='stylesheet' type='text/css' href='style.css'/>
Nun passiert aber folgendes.
Egal welche Datei ich include, die CSS Definitionen gelten nur für index.php, der includete Teil beachtet die Style Datei nicht.
Und ich hab da auch nichts falsch angegeben oder nen rechtschreibfehler drin, denn das gleiche gilt auch für die in index.php includeten Skripte wie z.B. meine sql.inc.php mit den SQL Daten, ich muss sie in jeder Datei die includet wird extra angeben, so das sie 2 mal im Dokument steht.
Wenn ich nämlich dann in der sql.inc.php probeweise mal echo "lalala"; reinschreibe, wird das ganze 2 mal ausgeben.
Woran lieft das???
Das ganze sieht so aus:
<?php
$show=$_GET['show'];
$secure_navigation_url_handling=new secure_navigation_url_handling($show);
$secure_navigation_url_handling->url_usen();
?>
Das ist die Klasse:
<?php
class secure_navigation_url_handling {
# Attribute
public $showme;
public $parts=array();
public $path='contents';
# Konstruktor
function secure_navigation_url_handling($show){
$this->showme=$show;
$this->get_filenames();
$this->url_check();
}
# Methoden
// Alle Dateinamen aus dem >>>> Verzeichnis lesen und in array packen
function getFilenamesOfTheDir($path){
$filenamesOfTheDir=array();
if ($handle = opendir($this->path)) {
while (false !== ($file = readdir($handle))) {
array_push($filenamesOfTheDir, $file);
}
}
closedir($handle);
return $filenamesOfTheDir;
}
// Url sichern
function url_secure($show){
$show=htmlspecialchars(strip_tags(trim($_GET['s'])));
return $this->showme=$show;
}
// Alle Filenamen aus bestimmten Ordner herausbekommen und in ein Array packen
function get_filenames(){
$filenames=$this->getFilenamesOfTheDir($this->path);
foreach ($filenames as $filename){
array_push($this->parts, $filename);
}
}
// URL checken
function url_check(){
$this->get_filenames();
// Ist die eingegebene URL-Endung in den Verzeichnissen vorhanden?
$this->showme=$this->showme.".php";
if(!in_array($this->showme, $this->parts)){
$this->showme='aktuell.php';
}
return $this->showme;
}
// URL includen
function url_usen(){
include($this->path.'/'.$this->showme);
}
}
?>
Hoffe ihr könnt mir helfen.
Liebe Grüße
Phil