PHP-Dateien mit Parametern öffnen
Tom1tk
- php
!ollaH
ich hab neulich schon mal ähnliches gefragt und bin immer noch nicht weiter. [pref:t=76631&m=441655]
Es geht um folgendes:
Ich möchte ne Datei via fopen() öffnen. Dabei will ich aber die geparste php-Datei haben. Ergo ich öffne nicht
fopen(datei.php);
sondern
fopen(http://www.dom.de/datei.php);
Soweit so gut. Funktioniert mittlerweile. Aber: Wie kann ich dieser Funktion meine Session mitgeben?
fopen(http://www.dom.de/datei.php?sesssion=2137b0341860g134fb031);
Damit hängt sich das Script auf. Bei http://www.webmasterplan.com/de kann man diesen HTML-Check durchführen lassen. Dort klappt das, dass ich die Session mit übergebe. Es werden dort "interne" HTML-Codes gecheckt, die man nur mit bestehender Session sehen kann...
Geht das nur mit CGI's? Oder kann man das auch mit PHP realisieren? Wenn ja, wie? Muss man die Daten irgendwie mit nem header senden?
Thanx Tom1tk
Hallo,
fopen(http://www.dom.de/datei.php?sesssion=2137b0341860g134fb031);
1. Bist Du sicher, dass der Session-Name "sesssion" ist? Mit insgesamt 4 "s"?
Ueblich ist PHPSESSID. Genaueres erzaehlt Dir bzw. ini_get('session.name')
2. Bist Du sicher, dass die Session-ID aus dem GET-Namensraum akzeptiert wird?
Wenn z.B. die Konfigurations-Option
session.use_only_cookies
auf "1" ist, geht das nicht, dann muss sie per Cookie daherkommen.
http://www.php.net/manual/de/ref.session.php
Damit hängt sich das Script auf.
Das ist keine gute Fehlerbeschreibung.
"Laeuft nicht" laeuft hier nicht...
Gruesse,
Thomas
!ollaH
- Bist Du sicher, dass der Session-Name "sesssion" ist? Mit insgesamt 4 "s"?
Ueblich ist PHPSESSID.
Eh klar. "PHPSESSID" natürlich. Wird automatisch eingefügt.
- Bist Du sicher, dass die Session-ID aus dem GET-Namensraum akzeptiert wird?
Werden akzeptiert. Darauf baut meine gane Seite auf.
"Laeuft nicht" laeuft hier nicht...
Und es läuft trotzdem nicht. Es kommt keine Fehlermeldung, sondern es dauert ewig bis unendlich, bis die Seite geladen wird, nein, anders, sie wird gar nie geladen.... =>>Sieht aus wie eine Endlosschleife.
Ich schraub da jetzt seit bald 4 Tagen dran rum. Das muss doch irgendwie gehen.
Greets Tom1tk
Hallo,
Und es läuft trotzdem nicht. Es kommt keine Fehlermeldung, sondern es dauert ewig bis unendlich, bis die Seite geladen wird, nein, anders, sie wird gar nie geladen.... =>>Sieht aus wie eine Endlosschleife.
Ob es sich um eine Schleife von Weiterleitungen handelt,
koenntest Du pruefen, indem Du
a) in Opera automatische Weiterleitungen abschaltest
b) schaust, was es fuer PHP-Header gibt:
http://cgi.w3.org/cgi-bin/headers
Statt fopen() u.s.w. koenntest Du auch mit
file_get_contents() arbeiten - ist IMHO bequemer.
Gruesse,
Thomas
!ollaH
a) in Opera automatische Weiterleitungen abschaltest
Hab ich net.
b) schaust, was es fuer PHP-Header gibt:
http://cgi.w3.org/cgi-bin/headers
302 und 200
Statt fopen() u.s.w. koenntest Du auch mit
file_get_contents() arbeiten - ist IMHO bequemer.
Getestet. "Call to undefined function file_get_contents() in line..."
Hab auch schon mal mit file() getestet. Mit File gehts, solange ich keine SESSION anhänge, wenn ich aber meine SESSION-Vars mitschicke bleibt das Teil "hängen"...
Greets Tom1tk
!ollaH
// liest den Inhalt einer Datei in einen String
$session="PHPSESSID=c6c2d3b30cebe5a8720b9a8d13fc30dd";
//Ist grad ne aktuelle Session
$filename = "http://www.domain.de/login/datei.php".$session;
$handle = fopen ($filename, "r");
$contents = fread ($handle, filesize ($filename));
print $contents;
fclose ($handle);
Laut php.net sollte das so funzen...
Greets Tom1tk