Fehler auf Webseite
werda
- php
Hallo,
seit einiger Zeit kann ich bei meiner Webseite (www.strecordz.com) keinen Inhalt mehr sehen. Diese Fehler erscheinen:
Warning: main(http://strecordz.com/includecontent.php?content=news.cnt): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /usr/kunden/confixx/kunde369/html/index.php on line 240
Warning: main(): Failed opening 'http://strecordz.com/includecontent.php?content=news.cnt' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /usr/kunden/confixx/kunde369/html/index.php on line 240
So wird es bei meiner Webseite in der index.php includet:
include "http://".$hostname."/includecontent.php?content=".$loadcontents;
Weiß da jemand bescheid, was da nicht läuft?
hallo,
Warning: main(http://strecordz.com/includecontent.php?content=news.cnt): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /usr/kunden/confixx/kunde369/html/index.php on line 240
Weiß da jemand bescheid, was da nicht läuft?
Zeile 240 "läuft nicht", wie du ja lesen kannst. Was enthält denn diese Zeile?
"Forbidden" deutet in aller Regel auf fehlende Rechte hin. Was da passiert ist, kann man aber erst bei genauer Kenntnis deines Codes aussagen.
Grüße aus Berlin
Christoph S.
ok,
der index.php habe ich 755 gegeben und der news.cnt auch 755 und in dem verzeichnis in dem die news.cnt liegt auch 755.
Was ist da noch falsch?
hallo,
Was ist da noch falsch?
Zeile 240 ist noch falsch - und deine Art, Rückfragen, die leider zur Diagnose deines Problems nötig sind, zu beantworten.
Grüße aus Berlin
Christoph S.
Hallo,
das dachte ich auch, aber was ist denn daran falsch?
Zeile 240:
include "includecontent.php?content=".$loadcontents;
Weißt du das? Ich habe keine Ahnung.
Danke
Ciao
include "includecontent.php?content=".$loadcontents;
Hat die includecontent.php auch chmod 755?
MfG Jonathan
Ja hat sie. Und das hier wär sie:
<?
if ($content)
{
$datei=fopen ("contents/".$content,"r");
while (!feof($datei)) {
$buffer = fgets($datei, 300);
$text.=$buffer;
}
fclose($datei);
$buffer="";
$text=str_replace(chr(92).chr(92),chr(92),$text);
$text=str_replace("[u]","<u>",$text);
$text=str_replace("[/u]","</u>",$text);
$text=str_replace("[i]","<i>",$text);
$text=str_replace("[/i]","</i>",$text);
$text=str_replace(chr(32)," ",$text);
$text=str_replace(chr(92).chr(34),chr(34),$text);
$text=str_replace(chr(13).chr(10),chr(13).Chr(10)."<br>",$text);
$text=str_replace("[b]",'<font size="2" face="Arial" color="#ffffff"><b>',$text);
$text=str_replace("[/b]","</b></font>",$text);
$text=str_replace("[toptitle]",'<font size="4" face="Arial Black" color="#ffffff">',$text);
$text=str_replace("[/toptitle]",'</font>',$text);
$text=str_replace("[newstitle]",'<font size="2" face="Arial" color="#ffffff"><b><u>',$text);
$text=str_replace("[/newstitle]",'</u></b></font>',$text);
$text=str_replace("[smalltext]",'<font size="1" face="Arial" color="#ffffff">',$text);
$text=str_replace("[/smalltext]",'</font>',$text);
$text=str_replace("[downloadlink]",'<a href="',$text);
$text=str_replace("[/downloadlink]",'"><img src="images/download.gif" width="180" height="25" border="0"></a>',$text);
$text=str_replace("[pagelink]",'<a href="',$text);
$text=str_replace("[/pagelink]",'"><b>*Verweis*</b></a>',$text);
$text=str_replace("[picture]",'<img src="',$text);
$text=str_replace("[/picture]",'">',$text);
$text=str_replace("[separator]",'<img src="images/bar_sep.png" width="400" height="20" border="0">',$text);
echo $text;
}
?>
Hallo,
ich glaube nicht daran das die Rechte falsch gesetzt sind!
hi,
das dachte ich auch, aber was ist denn daran falsch?
include "includecontent.php?content=".$loadcontents;
Weißt du das?
Hast du denn eine Datei namens
'includecontent.php?content=(und hier der Inhalt von $loadcontents)'
im aktuellen Verzeichnis angelegt?
GET-Parameter gibt es im HTTP-Umfeld, nicht auf Dateisystem-Ebene.
Ich habe keine Ahnung.
Davon aber offenbar mehr als genug, *scnr*
gruß,
wahsaga
Hallo,
der index.php habe ich 755 gegeben und der news.cnt auch 755 und in dem verzeichnis in dem die news.cnt liegt auch 755.
Rechteproblemen auf HTTP-Basis kannst du mit der Rechtevergabe auf Dateisystem-Basis nicht beikommen ...
Grüße aus Nürnberg
Tobias
Hallo,
include "http://".$hostname."/includecontent.php?content=".$loadcontents;
Das ist Unsinn. So wie du es geschrieben hast, wird http://strecordz.com/includecontent.php?content=news.cnt aufgerufen, die includecontent.php wird ausgeführt und der Inhalt an das Script das die include-Zeile enthält, zurückgeliefert - dieses Script wiederrum parst den zurückbekommenen Inhalt und gibt ihn an den Browser aus. Da in der Antwort die das Script mit der include-Zeile bekommt, aber kein PHP mehr enthält, wird die Antwort völlig umsonst geparst - lass also einfach den HTTP-Schritt weg und binde das Script direkt über das Dateisystem ein (also include('includecontent.php');). Denk aber dran, dass das was jetzt an include als Parameter übergeben wird, keine URL ist und das ?content=... folglich hinter dem Dateinamen nichts zu suchen hat (um auf unterschiedliche Anfragen zu reagieren, musst du in dem Script dass die includecontent.php aufruft eben eine Variable entsprechend setzen).
Alle Klarheiten beseitigt?
Grüße aus Nürnberg
Tobias