Zum Inhalt springen

Content geht an falschen Empfänger

Erstellt am 16. August 2004 · 1 Antwort · letzte Antwort am 16. August 2004

Tags: PHP, Frage

al1b0b0 ·

Hallo, Ihr Typo3-Kenner.

Der Titel ist nicht sehr aussagekräftig, ich weiß, aber ich muß weiter ausholen, um das Problem zu beschreiben.

mit folgendem Template binde ich Content aus einem PHP-Skript ein:

page.40 = TEMPLATE
page.40 {
    template = FILE
    template.file = fileadmin/header.tmpl
}


includeLibs.test_library = fileadmin/skript/test_library.php
page.50 = USER
page.50.parameter = value 
page.50.userFunc = user_test_library_class->php_funktion


page.60 = TEMPLATE
page.60 {
    template = FILE
    template.file = fileadmin/footer.tmpl
    workOnSubpart = INHALT
}

So weit nix spannendes, denke ich. Das PHP-Skript wiederum holt den Content aber aus einem perl-Skript, das auf einer anderen Maschine (mit anderer Domain) läuft:

<?php

class user_test_library_class {
    var $cObj;    // reference to the calling object.
    
    

// php_funktion
//=============================================

    function php_funktion ($content,$conf)    {
        global $TSFE;
        $TSFE->set_no_cache();
        
         $params ="?";
         $params .= "parameter=".$conf["parameter"];
        
         $cgi_call = "http://www.andere-domain.de/cgi-bin/perl_script.pl".$params;

         $fp=fopen ($cgi_call, "r");
         $result = "";
        
         do { 
             $result .= fread($fp,1024);       
         } while ( !feof($fp) );
        
         fclose ($fp);
           
         return $result;
    }

}

?>

Und nun zum Problem:
Wenn zwei verschiedene (Sagen wir mal User A und User B) User zeitgleich auf dieses Template (also identische id) zugreifen, bekommt User B den Content, den User A angefordert hatte, während User A nur Schrott bekommt, (alsob das perl-Skript gänzlich ohne Parameter aufgerufen worden wäre)

Kann sich jemand darauf einen Reim machen?

Sorry für die lange Frage.

Mit freundlichen Grüßen

robert

al1b0b0 ·

Hab die Lösung gefunden, wie es aussieht.

Das

$TSFE->set_no_cache();

im PHP-Skript reicht nicht.
Natürlich muss man auch im Typo3 Template (unter 'Seitentitel bearbeiten') das Caching für bewusste Seite ausschalten :o
Blöder Fehler!

Viele Grüße

robert