|
|
Jop, ich will hier auch gar nicht ausflippen, sondern versuchen, eine Lösung für mein Problem zu bekommen ;) . Ich bin auch für jeden Vorschlag dankbar und sowieso froh, dass Sie mir so schnell helfen. Nicht um sonst hat die c't über Sie berichtet, weshalb ich ja auch den Service gefunden habe.
Nun, ich weiß nicht so recht, was vor diesem Befehl in ZEILE 1 noch für Befehle sein sollen. Wobei, die Index.php beinhaltet folgenden Quelltext:
Code:
<?php
switch($_GET['page'])
{
default:
$datei="news.php";
break;
}
require ("http://www.gta-informer.de/headerinclude.php");
include $datei;
require ("http://www.gta-informer.de/footerinclude.php");
?> |
|
|
| 14.01.2006 21:20:06 |
|
dkdenz
Administrator
Ort: Lübeck
Registriert: 25.04.2005
Beiträge: 605
|
|
Ich meinte das auch jetzt nicht so drastisch, aber man muss wirklich bedenken, dass jemand der nicht in Ihr Projekt involviert ist, auch nicht weiss, wie die Dateien aufgebaut sind.
Und das mit dem 'ausflippen' kenne ich von mir selber nur zu gut, aber inzwischen habe ich gelernt, dass nur ich die Fehler mache und nicht irgendein Programm.
Soweit, sogut...nun zum eigentlichen Problem.
Was passiert, wenn der xml-Prolog (also das hier: <?xml version='1.0' encoding='iso-8859-1'?>) nicht eingesetzt wird? Denn es geht ja auch genausogut ohne. Haben Sie also genau den selben QT ohne Prolog getestet?
Kann ich mal den Original-QT von der Zeile 1 bis, sagen wir mal, <html> haben?
_______________________________________ Mozilla/5.0 (X11; U; Linux i686; de; rv:1.8.0.14eol) Gecko/20080418 Ubuntu/dapper-security Firefox/1.5.0.12eol
|
|
| 14.01.2006 22:15:05 |
| http://dkmd.de | http://dkdenz.de |
Zitieren |
|
|
|
Na, im Moment (und schon sei immer, um genau zu sein) läuft es ja ohne die XML-Deklaration. Wie ich schon sagte, wird das anscheinend erst seit Kurzem von dem Validator bemängelt. Das heißt: Die Seitendarstellung funktioniert problemlos, der Validator aber will das Dokument nicht (ohne "erweiterte Einstellungen") validieren, und gibt stattdessen diese Meldung aus:
Dieses XHTML-Dokument wurde ohne Angabe einer Zeichensatzkodierung im HTTP-Header übertragen. In diesen Fall müssen sowohl in der XML-Deklaration (z. B. <?xml version="1.0" encoding="ISO-8859-1"?>), als auch in einen Meta-Tag (z. B. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">) eine Zeichensatzkodierung angegeben werden, wenn einer der beiden vorhanden ist. Bitte ergänzen Sie die fehlenden Angaben im Dokument. |
Und was verstehen Sie unter dem "Original-Quelltext"? Zur Erklärung: Es ist einfach so, dass in der Index-Datei die Dateien headerinclude.php und footerinclude.php per require-Befehl eingeladen werden. Insgesamt habe ich nicht viele Script in der Seite eingebaut. Ich hab auch eigentlich schon die anfänglichen Zeilen der headerinclude.php, sowie die komplette index.php hier gepostet, aber kanns sein, dass wir an einander vorbeireden?
HEADERINCLUDE.PHP (von der Zeile 1 bis <html>)
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
INDEX.PHP
Code:
<?php
switch($_GET['page'])
{
default:
$datei="news.php";
break;
}
require ("http://www.gta-informer.de/headerinclude.php");
include $datei;
require ("http://www.gta-informer.de/footerinclude.php");
?> |
|
|
| 14.01.2006 23:26:06 |
|
Validome
Administrator
Registriert: 04.04.2005
Beiträge: 313
|
|
Hallo, Ihr Problem besteht eigentlich nur darin das in der headerinclude.php <? echo "<?xml version='1.0' encoding='iso-8859-1'?>"; ?> eine Fehlermeldung erzeugt. Das ist absolut unlogisch da in dem Dokument z. B. in Zeile 77 <? setlocale(LC_TIME, "DEU"); echo strftime("<strong>%H:%M</strong> am <strong>%d. %B %Y</strong>"); ?> steht. Demnach wird PHP eindeutig mit <? eingeleitet. Posten Sie doch bitte nochmals die Fehlermeldung wenn der obige Code am Anfang der headerinclude.php eingefügt wird.
mfg Thomas Mell
PS: Der switch Befehl ist absolut überflüssig. Ebenso ist es keine gute Idee die Dateien per http-Aufruf zu includen; das verlangsamt die Sache ungemein. Im Grunde würde der folgende Code genau so gut funktionieren (vorausgesetzt das alle Dateien im gleichen Ordner liegen): require ("/headerinclude.php"); include ("/news.php"); require ("/footerinclude.php");
|
|
| 15.01.2006 01:42:44 |
|
|
|
Code:
Posten Sie doch bitte nochmals die Fehlermeldung wenn der obige Code am Anfang der headerinclude.php eingefügt wird. |
Code:
[b]Parse error: parse error, unexpected T_STRING in http://www.gta-informer.de/headerinclude.php on line 1[/b] |
Im Grunde würde der folgende Code genau so gut funktionieren (vorausgesetzt das alle Dateien im gleichen Ordner liegen): require ("/headerinclude.php"); include ("/news.php"); require ("/footerinclude.php"); |
Wenn ich diesen Code verwende, erhalte ich folgende Fehlermeldungen:
Code:
Warning: main() [function.main]: open_basedir restriction in effect. File(/headerinclude.php) is not within the allowed path(s): (/home/web/gtainformer.de) in /home/web/gtainformer.de/web/index.php on line 2
Warning: main(/headerinclude.php) [function.main]: failed to open stream: Operation not permitted in /home/web/gtainformer.de/web/index.php on line 2
Fatal error: main() [function.require]: Failed opening required '/headerinclude.php' (include_path='.:/usr/php5/lib/php') in /home/web/gtainformer.de/web/index.php on line 2 |
Nutze ich stattdessen
Code:
<?php
require ("http://www.gta-informer.de/headerinclude.php");
include ("http://www.gta-informer.de/news.php");
require ("http://www.gta-informer.de/footerinclude.php");
?> |
wird die Seite zwar aufgebaut, das Newsarchiv, welches über die URL http://gta-informer.de/index.php?show=archive aufgerufen wird, wird jedoch nicht mehr angezeigt (es kommt stattdessen einfach die News-Seite).
|
|
| 15.01.2006 11:24:13 |
|
Validome
Administrator
Registriert: 04.04.2005
Beiträge: 313
|
|
Hallo, ich hab den Fehler gefunden (die Leitung war verdammt lang). Sie Includen per http,ok? Demnach wird die headerinclude.php ausgeführt und das >Ergebniss< includet,ok? Also includet: require ("http://www.gta-informer.de/headerinclude.php"); wieder das <?xml version='1.0' encoding='iso-8859-1'?> was natürlich wieder zu einer Fehlermeldung führt, da PHP versucht dieses auszuführen. Das kann man nur umgehen indem die headerinclude.php nicht per http includet wird oder echo "<?xml version='1.0' encoding='iso-8859-1'?>";
vor das includen setzt.
Code:
<?php
echo "<?xml version='1.0' encoding='iso-8859-1'?>";
require ("http://www.gta-informer.de/headerinclude.php");
include ('news.php');
require ("http://www.gta-informer.de/footerinclude.php");
?> |
Das sollte es gewesen sein.
mfg Thomas Mell
|
|
| 15.01.2006 14:38:04 |
|
|
|
Sehr gut :-) ! Danke vielmals. Darauf muss man erstmal kommen...
|
|
| 15.01.2006 18:59:24 |
|
|
|
Hallo, Ich habe in meiner HP eine Switch Navigation. Ein kurzer ausschnitt:
<?php switch($_GET['f']) { case "home": include "??"; break; case "f4_0": include "??"; break; case "c_0": include "??"; break; case "c_1": include "??"; break; case "c_2": include "??"; break; case "c_3": include "??"; break; case "c_4": include "??"; break; case "f1_0_1": include "??"; break; case "f1_0_2": include "??"; break; case "f1_0_3": include "??"; break; case "f1_0_4": include "??"; break; case "f1_0_5": include "??"; break; case "f1_0_a1": include "??"; break; case "f1_0_a2": include "??"; break; case "f1_0_a3": include "??"; break; case "f1_0_a4": include "??"; break;
default: include("home.php"); break; } ?>
Die hab ich in meiner index.php im bodyberech. Das geht auch alles super. nur jetzt hab ich noch so was in den body bereich gemacht. Das sieht dann so aus:
<?php switch($_GET['f']) { case "home": include "??"; break; case "f4_0": include "??"; break; case "c_0": include "??"; break; case "c_1": include "??"; break; case "c_2": include "??"; break; case "c_3": include "??"; break; case "c_4": include "??"; break; case "f1_0_1": include "??"; break; case "f1_0_2": include "??"; break; case "f1_0_3": include "??"; break; case "f1_0_4": include "??"; break; case "f1_0_5": include "??"; break; case "f1_0_a1": include "??"; break; case "f1_0_a2": include "??"; break; case "f1_0_a3": include "??"; break; case "f1_0_a4": include "??"; break;
default: include("home.php"); break; } ?>
<?php switch($_GET['id1']) { case "id_1": include "??"; break; case "id_2": include "??"; break; case "id_3": include "??"; break; case "id_4": include "??"; break; case "id_5": include "??"; break; case "id_6": include "??"; break;
default: include("home.php"); break; } ?>
Wenn ich jetzt die index.php aufrufe kommt ein Error. Aber eigentlich müsste doch blablabla/index.php?f=blabla und blablabla/index.php?id1=blabla gehen.
Warum kommt da ein Error?
Muss man das irgendwie verbinden? So, dass z.B. alles in der Kategorie f ist z.B. so?
blablabla/index.php?f=id1=blabla
Wenn man es so machen kann. Wie geht das?
Schon mal Danke und viele Grüße phil128.
|
|
| 13.02.2007 21:36:39 |
|
HTMELL
Administrator
Registriert: 11.05.2006
Beiträge: 544
|
|
Hallo, was für ein Fehler wird denn gemeldet?
_______________________________________ mfg Thomas Mell
www.validome.org
|
|
| 14.02.2007 00:46:50 |
|
|
|
HTMELL schrieb:
Hallo, was für ein Fehler wird denn gemeldet? |
Hallo HTMELL. Dies ist der Fehler.
Parse error: parse error, unexpected T_CASE in /var/www/user/fi/finalgamesworld/html/index.php on line 342
|
|
| 14.02.2007 16:51:35 |
|
HTMELL
Administrator
Registriert: 11.05.2006
Beiträge: 544
|
|
Hallo, sieht ganz nach einen PHP-Syntaxfehler aus. Etwas PHP-Quelltext um diese Zeile herum währe hilfreich.
_______________________________________ mfg Thomas Mell
www.validome.org
|
|
| 14.02.2007 19:18:09 |
|
|
|
ok.
<?php switch($_GET['id4']) {
case "id_1": include "saleosungen.php"; break;
342: case "id_2": include "vcleosungen.php"; break;
case "id_3": include "bwleosungen.php"; break;
case "id_4": include "bw2leosungen.php"; break;
case "id_5": include "bwidkleosungen.php"; break;
case "id_6": include "bwbotgleosungen.php"; break;
default: include("home.php"); break;
}
?> <?php switch($_GET['id3']) {
case "id_1": include "sadownloads.php"; break;
case "id_2": include "vcdownloads.php"; break
case "id_3": include "bwdownloads.php"; break;
case "id_4": include "bw2downloads.php"; break;
case "id_5": include "bwidkdownloads.php"; break;
case "id_6": include "bwbotgdownloads.php"; break;
default: include("home.php); break;
}
?><?php switch($_GET['id2']) {
case "id_1": include "satipps.php"; break;
case "id_2": include "vctipps.php"; break;
case "id_3": include "bwtipps.php"; break;
case "id_4": include "bw2tipps.php"; break;
case "id_5": include "bwidktipps.php"; break;
case "id_6": include "bw2botgtipps.php"; break;
default: include("home.php); break;
}
?> <?php switch($_GET['id1']) {
case "id_1": include "sacheats.php"; break;
case "id_2": include "vccheats.php"; break;
case "id_3": include "bwcheats.php"; break;
case "id_4": include "bw2cheats.php"; break;
case "id_5": include "bwidkcheats.php"; break;
case "id_6": include "bw2botgcheats.php"; break;
default: include("home.php"); break;
}
?> <?php switch($_GET['f']) {
case "home": include "home.php"; break;
case "f1_0": include "black_and_white.php"; break;
case "f1_1": include "insel_der_kreaturen.php"; break;
case "f2_0": include "black_and_white_2.php"; break;
case "f2_1": include "battle_of_the_gods.php"; break;
case "f3_0": include "gta_san_andreas.php"; break;
case "f4_0": include "gta_vice_city.php"; break;
case "c_0": include "guestbook/gb.php"; break;
case "c_1": include "impressum.php"; break;
case "c_2": include "partner.php"; break;
case "c_3": include "umfragen.php"; break;
case "c_4": include "finalgamesworldnews.php"; break;
case "f1_0_1": include "bwbrennendesteine.php"; break;
case "f1_0_2": include "bw5000einheiten.php"; break;
case "f1_0_3": include "bwbekehrenleichtgemacht.php"; break;
case "f1_0_4": include "bwspeicherndereigenschaftendeinerkreatur.php"; break;
case "f1_0_5": include "bwueberfluessigeeinwegzauber.php"; break;
case "f1_0_a1": include "bwtipps.php"; break;
case "f1_0_a2": include "bwcheats.php"; break;
case "f1_0_a3": include "bwloessungen.php"; break;
case "f1_0_a4": include "bwdownloads.php"; break;
default: include("home.php"); break;
}
?>
|
|
| 14.02.2007 19:34:09 |
|
HTMELL
Administrator
Registriert: 11.05.2006
Beiträge: 544
|
|
Hi, da sind aber einige Fehler drinn. Zum einen fehlt ein ";" hinter einem break und zum Anderen 2 Anführungsstriche in den includes
_______________________________________ mfg Thomas Mell
www.validome.org
|
|
| 14.02.2007 21:57:30 |
|
|
|
Danke HTMELL! Die Fehler hab ich gar nicht gesehen. Ich arbeite mit einem normalen texteditor. Da kann das ja mal passieren... lol. Wenigstens geht jetzt wieder alles. Danke!
|
|
| 15.02.2007 15:11:26 |
|
HTMELL
Administrator
Registriert: 11.05.2006
Beiträge: 544
|
|
Für so etwas existieren schließlich richtige PHP-Editoren, die zeigen solche Fehler schon beim Eintippen an ;-)
_______________________________________ mfg Thomas Mell
www.validome.org
|
|
| 15.02.2007 19:06:38 |
|
|
|
Ja da haste recht HTMELL. ;). Ich habe mal in der Suche nach PHP-Editoren und Editoren nachgeschaut, aber irgendwie ncihts passendes gefunden... Villeicht kann mir ja noch einer ein paar Tipps für einen guten kostenlosen PHP-Editor geben.
|
|
| 15.02.2007 20:34:23 |
|
HTMELL
Administrator
Registriert: 11.05.2006
Beiträge: 544
|
|
Kostenlos ist selten gut da 99% aller Freewareprojekte über kurz oder lang "einschlafen". http://www.zend.com/de/products/zend_studio ist der beste PHP-Editor den es gibt, allerdings nicht ganz billig. Wenn man aber bedenkt wieviel Zeit man durch unnötige Fehlersuche spart, ist es nicht mehr so teuer. Da das Teil von den Entwicklern von PHP stammt ist auch eine gute "Zukunftssicherheit" gewährleistet.
_______________________________________ mfg Thomas Mell
www.validome.org
|
|
| 15.02.2007 23:20:32 |
|
dkdenz
Administrator
Ort: Lübeck
Registriert: 25.04.2005
Beiträge: 605
|
|
Da Du wahrscheinlich M$-Nutzer bist, wird Dir dieser Link nichts nutzen: http://bluefish.openoffice.nl/index.html
_______________________________________ Mozilla/5.0 (X11; U; Linux i686; de; rv:1.8.0.14eol) Gecko/20080418 Ubuntu/dapper-security Firefox/1.5.0.12eol
|
|
| 15.02.2007 23:40:12 |
| http://dkmd.de | http://dkdenz.de |
Zitieren |
|
HTMELL
Administrator
Registriert: 11.05.2006
Beiträge: 544
|
|
Richtig, ich bin M$-Nutzer und daran wird sich auch nichts ändern ;-)) Übrigens läuft der PHP-Editor von Zend auch unter Linux & Co. da er in Java geschrieben ist. Das Teil ist wirklich der beste PHP-Editor den ich kenne, da er absolut auf PHP zugeschnitten ist (verarbeitet bereits im Editor includetet Dateien) - und ich habe schon sehr viele Editoren ausprobiert...
_______________________________________ mfg Thomas Mell
www.validome.org
|
|
| 16.02.2007 11:04:34 |
|
dkdenz
Administrator
Ort: Lübeck
Registriert: 25.04.2005
Beiträge: 605
|
|
Ich bleibe bei meinem Quanta+... :-)
_______________________________________ Mozilla/5.0 (X11; U; Linux i686; de; rv:1.8.0.14eol) Gecko/20080418 Ubuntu/dapper-security Firefox/1.5.0.12eol
|
|
| 16.02.2007 11:18:53 |
| http://dkmd.de | http://dkdenz.de |
Zitieren |
|
Wechsel zu
Die letzten Beiträge aus diesen Forum
|
|