HI Helpliners,
ich hoffe euch geht´s supi wie immer. In Sachen PHP hätte ich eine Anfrage.
Aus ungeklärter Ursache kann ich auf dem Webspace im DOCUMENT_ROOT keine .htaccess Files für das Error handling setzen. Keine Ahnung wie, aber bei Einsatz gibt es einen Redirection Error. Mein Providor bekommt das nicht in den Griff und ich will davon nicht abhängig sein.
Insofern frage ich mich, ob es nicht die Möglichkeit gibt ein solches Handling lediglich durch eine PHP File hinzubekommen. Das muss doch irgendwie gehen. Und sei es in der Art dieses als Codeschnipsel in die header, die config (Include construct) oder die index Datei einzubauen. Leider bekomme ich das noch nicht zusammen.
Ich hoffe ihr könnt mir helfen :)! Zusätzliche Info: Safemode ist leider aktiviert.
SPECIAL Greetz,
Markus Ehrlich
-
-
-
Mir faellt da spontan nur der Umweg ueber eine Proxyseite ein. Diese Seite uebrnimmt die Aufgabe, die du normalerweise durch die .htaccess Datei an deinen Browser uebergibst.
Baue eine Seite, die in etwa so aufgerufen wird:
proxy.php?item=page.php
Die Seite sollte via file_exist() prüfen ob page.php vorhanden ist. Falls ja kann ...
a) durch das Setzen per header() Anweisung ein redirect auf page.php gemacht werden oder
b) per include()/require() page.php eigebunden werden. Dies bietet sich an, wenn du Variablen aus den $_POST oder $_GET Arrays verwenden moechtest.
Falls die Seite nicht vorhanden ist kann entweder die Proxyseite eine entsprechende Fehlermeldung ausgeben, oder aber auf eine Errorpage weiterleiten bzw. diese inkludieren.
Ich hoffe das war nicht zu abstrakt, aber es haengt viel davon ab, wie deine Applikation aufgebaut ist.
Happy coding, Marc -
UUuuuuups, hatte vergessen, dass Code hier nicht so einfach ausgegeben werden kann. Ich hoffe du rufst deine Mails ab und erhälst das Beispiel darin.
Greez,
Markus -
Hi Marc,
nun ich bin noch net soweit dass ich bereits mit allen Funktionen vertraut
bin. Also ich ging villeicht von einer Lösung aus wie etwa einen if und
ifelse Befehl einzubauen. Der Gedanke kam mir wegen des Aufbaus meine
Struktur. Da ist also ein PHP-File, mit dem die tatsächlichen Dateinamen
unterdrückt werden in dem eine ?id= Adresse ausgegeben wird.
Beispiel:
<?php
if ($id == 1) {
include("xxx.php");
} elseif ($id == 2) {
include("yyy.php");
}
?>
hier hoffte ich eine Möglichkeit die weniger kompliziert wäre. Natürlich
dachte ich hierzu dann auch an die header bzw. index. Marco kennt mein
Konstrukt genau. Vielleicht kannst du ihn mal antickern. Ich erreiche ihn
leider nicht.
Gruß,
Markus (Alias Lansitter)
>
> Mir faellt da spontan nur der Umweg ueber eine Proxyseite ein. Diese Seite
uebrnimmt die Aufgabe, die du normalerweise durch die .htaccess Datei an
deinen Browser uebergibst.
>
> Baue eine Seite, die in etwa so aufgerufen wird:
> proxy.php?item=page.php
>
> Die Seite sollte via file_exist() prüfen ob page.php vorhanden ist. Falls
ja kann ...
> a) durch das Setzen per header() Anweisung ein redirect auf page.php
gemacht werden oder
> b) per include()/require() page.php eigebunden werden. Dies bietet sich
an, wenn du Variablen aus den $_POST oder $_GET Arrays verwenden moechtest.
>
> Falls die Seite nicht vorhanden ist kann entweder die Proxyseite eine
entsprechende Fehlermeldung ausgeben, oder aber auf eine Errorpage
weiterleiten bzw. diese inkludieren.
>
> Ich hoffe das war nicht zu abstrakt, aber es haengt viel davon ab, wie
deine Applikation aufgebaut ist.
>
> Happy coding, Marc
> -
Hi Markus,
ganz einfach, wenn Du PHP nutzt und die Seite über z.B. die Variable id refenziert wird:
switch ($id){
case 1:
echo "seite 1";
break;
case 2:
echo "seite 2";
break;
default:
echo "seite nicht gefunden";
break;
}
der Rest erklärt sich analog...
Bye André -
hi Andre,
also deine Idee war natürlich nicht falsch, hätte aber wohl eine nicht
unerhebliche Unstrukturierung nach sich gezogen. Um das Error handling zu
lösen dachte ich mir ich sollte das irgendwie über die Navisteuerung
hinbekommen. Bevor ich jetzt im laufenden Projekt rumteste würde ich mich
freuen, wenn du folgendes prüfen könntest um zu im Vorfeld zu erfahren ob es
so geht. Ich hoffe der Code wird so für dich sichtbar übermittelt:
if ($id == 1) {
include("b.php");
} elseif ($id == 2) {
include("bl.php");
} elseif ($id == 3) {
include("bla.php");
} elseif ($id == 4) {
include("blubber.php");
} else {
include("error.php");
}
Also einfach als else (wenn nicht eines der vorhergehenden, dann die
error.php.
thx und Gruß,
Markus
----- Original Message -----
From: "Andre ()" <helpline@pc-special.de>
To: "Lansitter" <webmaster@ecswebs.net>
Sent: Monday, June 02, 2003 11:01 PM
Subject: [23190] 39: 404 Error handling ohne .htaccess
>
> Hi Markus,
>
> ganz einfach, wenn Du PHP nutzt und die Seite über z.B. die Variable id
refenziert wird:
>
> switch ($id){
> case 1:
> echo "seite 1";
> break;
> case 2:
> echo "seite 2";
> break;
> default:
> echo "seite nicht gefunden";
> break;
> }
>
> der Rest erklärt sich analog...
>
> Bye André
>