Forum: PC-Programmierung The requested URL was not found on this server


von TM F. (p_richner)


Lesenswert?

Hallo zusammen

Ich habe Ubuntu mit Apache2-Webserver und php5.
Ich habe das Problem, dass wenn ich ein .php-File von einem anderen 
öffnen möchte, folgende Fehlermeldung kommt:
1
The requested URL /logon.php<br /><b>Notice</b>: Undefined index: goto in <b>/var/www/index.php</b> on line <b>11</b><br /> was not found on this server.

Die Datei ist jedoch im /var/www/ - Ordner abgespeichert.
Woran liegt das Problem?

Der Code ist:
1
Line11: <frame src="logon.php<?php print "?goto=".$_get["goto"]; ?>" name="Seite" scrolling="auto" noresize>

Wenn Ihr mehr Infos braucht, sagt es.

MfG p_richner

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ist /var/www Dein docroot?

von TM F. (p_richner)


Lesenswert?

In diesem Ordner sind alle Webseiten-Dokumente.

von Peter II (Gast)


Lesenswert?

PHP generiert einen Fehler und dieser wird als src zurückgeben!

Der Fehler ist also das


print "?goto=".$_get["goto"];

scheinbar "Undefined index" liefert. Daraus wird dann eine falsche URL 
zusammengebaut.

von Εrnst B. (ernst)


Lesenswert?

Erstes Problem:
Die Variable heißt $_GET, nicht $_get.

Zweites Problem:
Du escape'st den Wert nicht.
Alles was aus $_GET, $_REQUEST, $_POST usw. kommt, sollte niemals 
unverändert wieder ausgegeben werden. mindestens "htmlspecialchars" oder 
so aussenrum!

: Bearbeitet durch User
von bluppdidupp (Gast)


Lesenswert?

Üblicherweise macht man sowas:
1
$goto=""; // Default-Wert setzen
2
if (isset($_GET['goto']))
3
{ 
4
   $goto=$_GET['goto'];
5
   // Hier noch $goto auf ungültige/gefährliche Eingaben prüfen
6
   // ggf. $goto auf irgendwelche Default-Werte zurücksetzen
7
}
8
// ..irgendwo hier wird $goto verwendet.

von TM F. (p_richner)


Lesenswert?

Danke für die Rückmeldungen, jetzt sieht es schon besser aus.
Der Beitrag von bluppdidupp hat geholfen.

MFG

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.