Verlinkungsfehler
Verlinkungsfehler
Hallo Forum,
ich habe folgenden Fehler bei der internen Verlinkung eines Bildes:
falls ich gleichzeitig in einem anderen Fenster den Admin-Modus laufen habe erscheint die aufgerufene Seite im Editormodus also mit den kleinen Bezeichnungen unter'm Bild etc., falls ich nicht eingeloggt bin erhalte ich eine Fehlermeldung.
Der Output-Code:
<?php
if ("CMS_IMG[1]" != "") {
$img = '<img src="CMS_IMG[1]" border="0">';
if ("CMS_LINK[1]" != "http://") {
$img = sprintf('<a href="%s" target="%s">%s</a>',"CMS_LINK[1]", "CMS_LINKTARGET[1]", $img);
}
echo $img;
}
echo "<br>";
echo "CMS_IMGDESCR[1]";
echo "<br>";
echo "CMS_LINKDESCR[1]";
echo "<br>";
?>
Wer kann sich denken woran das liegen könnte?
Danke für's Hirnschmalzopfer
Jörgel
ich habe folgenden Fehler bei der internen Verlinkung eines Bildes:
falls ich gleichzeitig in einem anderen Fenster den Admin-Modus laufen habe erscheint die aufgerufene Seite im Editormodus also mit den kleinen Bezeichnungen unter'm Bild etc., falls ich nicht eingeloggt bin erhalte ich eine Fehlermeldung.
Der Output-Code:
<?php
if ("CMS_IMG[1]" != "") {
$img = '<img src="CMS_IMG[1]" border="0">';
if ("CMS_LINK[1]" != "http://") {
$img = sprintf('<a href="%s" target="%s">%s</a>',"CMS_LINK[1]", "CMS_LINKTARGET[1]", $img);
}
echo $img;
}
echo "<br>";
echo "CMS_IMGDESCR[1]";
echo "<br>";
echo "CMS_LINKDESCR[1]";
echo "<br>";
?>
Wer kann sich denken woran das liegen könnte?
Danke für's Hirnschmalzopfer
Jörgel
Sorry, vielleicht sinnvoll zu wissen, die Fehlermeldung lautet:
Warning: open_basedir restriction in effect. File is in wrong directory in /usr/local/etc/httpd/vhosts/joerg3/contenido/conlib/local.php on line 225
Warning: Failed opening 'main.loginform.php' for inclusion (include_path='.:') in /usr/local/etc/httpd/vhosts/joerg3/contenido/conlib/local.php on line 225
Gruß Jörgel
Warning: open_basedir restriction in effect. File is in wrong directory in /usr/local/etc/httpd/vhosts/joerg3/contenido/conlib/local.php on line 225
Warning: Failed opening 'main.loginform.php' for inclusion (include_path='.:') in /usr/local/etc/httpd/vhosts/joerg3/contenido/conlib/local.php on line 225
Gruß Jörgel
session.inc ???
Hallo,
habe denselben Fehler. Wird dadurch verursacht, dass der Parameter contenido=%SessionID% mit in den Link eingebaut wird.
Wenn man das mal nachschaut, findet man im File session.inc die Klasse session in der folgende Funktion definiert wird:
In der switch Anweisung wird geprüft ob man cookies aktiv hat und wenn nicht (get) wird die ID dazu gefügt. Wozu weiß ich nicht, ist jemand hier der mir/uns weiter helfen kann?
Gruß Mathias
habe denselben Fehler. Wird dadurch verursacht, dass der Parameter contenido=%SessionID% mit in den Link eingebaut wird.
Wenn man das mal nachschaut, findet man im File session.inc die Klasse session in der folgende Funktion definiert wird:
Code: Alles auswählen
function url($url) {
// Remove existing session info from url
$url = ereg_replace(
"([&?])".quotemeta(urlencode($this->name))."=".$this->id."(&|$)",
"\\1", $url);
// Remove trailing ?/& if needed
$url=ereg_replace("[&?]+$", "", $url);
switch ($this->mode) {
case "get":
$url .= ( strpos($url, "?") != false ? "&" : "?" ).
urlencode($this->name)."=".$this->id;
break;
default:
;
break;
}
Gruß Mathias
Re: session.inc ???
Hallo 'MAE',
Wegen der open_basedir Direktive kann local.php nicht inkludiert werden. Da muss dran gedreht werden.
Aus der php.ini:
Viele Gruesse,
Joerg
nun, daran liegt das wahrscheinlich nicht. Das ist ein fallback. Falls die SessionID nicht über cookies propagiert werden kann, wird sie an die URL angehängt.MAE hat geschrieben:habe denselben Fehler. Wird dadurch verursacht, dass der Parameter contenido=%SessionID% mit in den Link eingebaut wird.
[snip]
In der switch Anweisung wird geprüft ob man cookies aktiv hat und wenn nicht (get) wird die ID dazu gefügt. Wozu weiß ich nicht, ist jemand hier der mir/uns weiter helfen kann?
Wegen der open_basedir Direktive kann local.php nicht inkludiert werden. Da muss dran gedreht werden.
Aus der php.ini:
Code: Alles auswählen
; open_basedir, if set, limits all file operations to the defined directory
; and below. This directive makes most sense if used in a per-directory
; or per-virtualhost web server configuration file. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
Joerg
Versuch 'rauszukriegen welcher Pfad bei Dir in open_basedir steht. Liegen Deine Sachen bei einem Hoster oder lokal?
Bei einem Hoster kannst Du ein Skript wie
ablegen und aufrufen. Das gibt Dir alle PHP-Infos.
Lokal kannst Du in Deiner php.ini nachsehen.
Alle Dateioperationen sind nur unterhalb des Pfades in open_basedir erlaubt. Versucht man bspw. eine Datei in einem anderen Verzeichnis zu öffnen, kommt es zu obiger Fehlermeldung.
hth,
Joerg
Bei einem Hoster kannst Du ein Skript wie
Code: Alles auswählen
<?php
phpinfo();
?>
Lokal kannst Du in Deiner php.ini nachsehen.
Alle Dateioperationen sind nur unterhalb des Pfades in open_basedir erlaubt. Versucht man bspw. eine Datei in einem anderen Verzeichnis zu öffnen, kommt es zu obiger Fehlermeldung.
hth,
Joerg
Hallo Joerg,
danke für's Interesse, aber ob's daran liegt ?
Mein Pfad liegt bei einem internen Link ja zwangsläufig unterhalb des base_dir da der gesamte contenido-Ordner ja unterhalb liegt und phpinfo() zeigt's auch:
base_dir: /www/vhosts/joerg3/
Stutzig macht mich, dass contenido in: /usr/local/etc/httpd/ (Fehlermeldung) und nicht unter www/ sucht.
Ist da vielleicht irgendwo 'nen absoluter Pfad einprogrammiert?
Ich frag' aber auch mal bei meinem Hoster nach.
Joergel
danke für's Interesse, aber ob's daran liegt ?
Mein Pfad liegt bei einem internen Link ja zwangsläufig unterhalb des base_dir da der gesamte contenido-Ordner ja unterhalb liegt und phpinfo() zeigt's auch:
base_dir: /www/vhosts/joerg3/
Stutzig macht mich, dass contenido in: /usr/local/etc/httpd/ (Fehlermeldung) und nicht unter www/ sucht.
Ist da vielleicht irgendwo 'nen absoluter Pfad einprogrammiert?
Ich frag' aber auch mal bei meinem Hoster nach.
Joergel
Hm, PHP behauptet es jedenfalls.Joergel hat geschrieben:Hallo Joerg,
danke für's Interesse, aber ob's daran liegt ?
Vielleicht ist das genau der Knackpunkt.Joergel hat geschrieben:base_dir: /www/vhosts/joerg3/
Stutzig macht mich, dass contenido in: /usr/local/etc/httpd/ (Fehlermeldung) und nicht unter www/ sucht.
Viel Erfolg,
Joerg