Datenschutzerklärung

Schwerer Fehler, was nun?

Validome - Forum

Startseite Validome
RSS 2.0  
Sie sind nicht angemeldet. Atom 1.0  
Forum Home / HTML und XHTML-Forum /

Schwerer Fehler, was nun?

  Beitrag schreiben
Autor
Beitrag Seiten:  1 2 3
OEM
Gast



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
  Zitieren
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
OEM
Gast



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
  Zitieren
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
  Zitieren
OEM
Gast





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
  Zitieren
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
  Zitieren
OEM
Gast



Sehr gut :-) ! Danke vielmals.
Darauf muss man erstmal kommen...


15.01.2006 18:59:24
  Zitieren
phil128
Gast



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
  Zitieren
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
  Zitieren
phil128
Gast




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
  Zitieren
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
  Zitieren
phil128
Gast



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
  Zitieren
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
  Zitieren
phil128
Gast



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
  Zitieren
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
  Zitieren
phil128
Gast



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
  Zitieren
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
  Zitieren
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
  Zitieren
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
Seiten:  1 2 3   Beitrag schreiben
Wechsel zu

Die letzten Beiträge aus diesen Forum

Valid HTML 4.01