![]() |
Includescript - Problem - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html) +--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html) +--- Thema: Includescript - Problem (/thread-7557.html) |
Includescript - Problem - Phenom - 02.11.2007 Guten Tag. Ich hab wieder mal ein Problem. Dieses Mal hat es etwas weniger mit dem MyBB zu tun, sondern mehr mit meiner Page. Ich hatte bis jetzt immer folgendes Script zum Includen des Inhaltes in meiner "index.php" genutzt: PHP-Code: $dateiname = $_GET["page"] . ".php"; Ich hab das Problem, dass bei mir einige Seiten aus der Datenbank ausgelesen werden sollen, aber ich hab trotzdem noch 4 Seiten (kontakt_hlg.php, download.php, pic.php und start.php), die nicht in der Datenbank stehen (werden). Ich müsste also ein Script schreiben, das folgende Dinge ermittelt:
PHP-Code: $dateiname = $_GET["page"] . ".php"; Was für mich wichtig ist, ist dass das Ganze sicher ist. Ich hoffe ich hab mich verständlich genug ausgedrückt. Ist für mich selber sehr schwer zu verstehen. RE: Includescript - Problem - Dave - 02.11.2007 Probiers mak hier mit, du musst natürlich noch die Datenbank abfrage reinsetzen, aber im Groben und Ganzen sollte es funktionieren. PHP-Code: $dateiname = $_GET["page"] . ".php"; RE: Includescript - Problem - Phenom - 02.11.2007 Danke, Dave. ![]() Ich habs mal so versucht, allerdings kommt dann eine Fehlermeldung. Mein Code sieht nun so aus. Ist der richtig, weil die Fehlermeldung folgendes schreibt: Zitat:Parse error: syntax error, unexpected '{' in /var/www/freehost-script/user_web/monk/index_new.php on line 97So sieht der Code aus: PHP-Code: $dateiname = $_GET["page"] . ".php"; PHP-Code: if(!empty($_GET["page"]) { Wenn ich die geschweifte Klammer nun entferne, dann geht doch gar nix mehr, oder? RE: Includescript - Problem - Mak - 02.11.2007 Du hast vergessen die Klammer wieder zu schließen.: PHP-Code: $dateiname = $_GET["page"] . ".php"; RE: Includescript - Problem - Phenom - 02.11.2007 Oh, danke. Es erscheint aber weiterhin die Meldung. Kann es sein, dass ich noch mehr Klammer vergessen hab? PHP-Code: $dateiname = $_GET["page"] . ".php"; ![]() RE: Includescript - Problem - Gondlar - 02.11.2007 Ja die 2. Runde bei PHP-Code: if(!empty($_GET["page"]) //Da nochmal ')' EDIT: Das wars von Anfang an! Mach die Klammer die Mak gefunden hatte wieder weg... Die hat sich nur hinter PHP-Code: $abfrage = "SELECT message FROM {$prefix}posts WHERE pid=$id";} RE: Includescript - Problem - Phenom - 02.11.2007 Gut, danke Gondlar. ![]() Jetzt gibt es aber folgende Probleme: Wenn $page leer ist, dann wird wie gewollt die Datei start.php angezeigt. Wenn ich jedoch für die Domain so aufrufe index_new.php?page=start dann includet zuerst die start.php und gleich dahinter die error.php. Wenn ich nun index_new.php?page=chor aufrufe, dann soll nach der config.inc.php die $id=2 sein. Er includet aber $id=1, welche als default case gesetzt wurde. Außerdem wird, wenn ich irgendwas beliebiges schreibe z.B. index_new.php?page=apfel (wobei "apfel" gar nicht existiert) nicht wie gewollt, die datei error.php includet. Wo liegt da das Problem? RE: Includescript - Problem - Gondlar - 02.11.2007 Phenom schrieb:Wenn $page leer ist, dann wird wie gewollt die Datei start.php angezeigt. Wenn ich jedoch für die Domain so aufrufeNicht sonderlich Verwunderlich: Du fragst ab ob die Datei existiert oder nicht und erstellst wenn nicht $abfrage. Wenn ich nun index_new.php?page=chor aufrufe, dann soll nach der config.inc.php die $id=2 sein. Er includet aber $id=1, welche als default case gesetzt wurde. Dann wird else geschlossen und nur wenn es else war gibt es die Variable. Sie kann also beim nächsten if garnicht true sein, deswegen wird error included. Du musst das } nach PHP-Code: $abfrage = "SELECT message FROM {$prefix}posts WHERE pid=$id";} //Da weg PHP-Code: else Phenom schrieb:Außerdem wird, wenn ich irgendwas beliebiges schreibe z.B. index_new.php?page=apfel (wobei "apfel" gar nicht existiert) nicht wie gewollt, die datei error.php includet.$abfrage ist ein String und noch lange keine abfrage an die Datenbank RE: Includescript - Problem - Phenom - 03.11.2007 Danke Gondlar. ![]() Alles funktioniert bis auf die $id. Zitat:Dann wird else geschlossen und nur wenn es else war gibt es die Variable. Sie kann also beim nächsten if garnicht true sein, deswegen wird error included. Du musst das } nachIch verstehe deinen Satz nicht ganz. ![]() Wie müsste ich dann das Problem lösen? Er includet jetzt wenn ich im "page=chor" angebe die $id=1 (ist in der config.inc.php als default gesetzt) anstelle der zur "chor" zugewiesenen $id=2. Du sagst "nur wenn es else war gibt es die Variable". Heißt das, er ruft gar nicht else auf? Kommt er erst gar nicht so weit? Danke schonmal im vorraus für die Hilfe. RE: Includescript - Problem - Phenom - 04.11.2007 Also ich hab ein wenig versucht weiterzuarbeiten. Ich hab immernoch nicht hinbekommen, dass wenn ich page=chor hab, dass er die $id=2 includet. ![]() Außerdem ist ein neues Problem aufgetaucht: Ich hab, damit die includeten Beiträge ordnungsgemäß angezeigt werden, die Codierung auf UTF-8 gesetzt. Jetzt wird der Text aus der Datenbank richtig dargestellt, aber die Texte aus den normalen Dateien nicht. Dort wird jeder Umlaut als ?-Zeichen dargestellt. Wie kann ich das Problem beheben? Das Problem mit dem includen der error.php ist mir zur Zeit nicht so wichtig. Ich will erst mal nur, dass auch das includen von den richtigen $id's geht und das die Codierung passt. ![]() EDIT: Das Codierungsproblem wurde behoben. Jetzt bleibt nur noch das mit der Variablen $id. Kann mir jemand helfen, ich komme anscheinend selber nicht zurecht. ![]() |