Tom1tk: PHP-Dateien mit Parametern öffnen

!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

  1. 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

    --
    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
    Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
    Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
    1. !ollaH

      1. 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.

      1. 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

      1. 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

        --
        Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
        Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
        Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
        1. !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

    2. !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