PHP Script erst bei anklicken eines links

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP Script erst bei anklicken eines links

    Hallo
    Ich möchte ein PHP Script nur ausführen wenn jemand die Seite verlässt.
    Wie bekomme ich das dazwischen ???
    Also:
    <TD><A HREF="../menue.php" target='_top'><FONT COLOR="#A3A36A"><img src="../images/home.gif" alt="zur&uuml;ck zum Hauptmenue" border="0"></a>

    hiermit verlässt man die Seite.Aber dann soll noch folgendes passieren:
    <?
    if($useranzahl > 0) {
    $datei=fopen "D:\HP\Chat\Chatbesucher.txt","w"); //Anzahl $useranzahl--;
    fputs ($datei,$useranzahl); // fclose($datei);
    }
    ?>
    Also erst wenn die Seite verlassen wird soll der Zähler
    bedient werden.
    Bernd

  • #2
    das geht nur, wenn du eine Zwischenseite oder besser in einem Hidden-Frame eine Datei aufrufst. Du kannst kein PHP als Abschluß durchführen, da PHP serverseitig läuft und die HTML-Seite als Ergebnis liefert.
    Du könntest in den Body-Tag onunload="" einfügen und noch ne Javascript-Funktion aufrufen, die in einem HiddenFrame eine PHP-Datei lädt, welche genau das macht, was du da willst. Klappt sogar, wenn der Browser geschlossen wird -> mußt natürlich abfangen und dann fix Fenster öffnen und PHP ausführen und dann Fenster schliessen.

    Kommentar


    • #3
      Mögliche Lösung mit JavaScript...

      Hallöchen,
      also für die Lösung des Problems fällt mir konkret folgendes ein:
      Du kannst mit JavaScript "OnUnload" usw. ein Ereigniss setzen und dann nimmst Du noch den Code rein, damit das PHP-Script aufgerufen wird.
      Somit kannst Du sobald eine Seite vom User verlassen wird, ein PHP-Scritp aufrufen.
      Hier der Code, den ich mir ausgedacht habe:
      <script language="JavaScript">
      <!--
      function goToURL() {
      var i, args=goToURL.arguments; document.returnValue = false;
      for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
      }
      //-->
      </script>
      <a href="#" onUnload="goToURL('parent','test.php');return document.returnValue">testlink
      </a>
      Wenn Du noch nähere Infos brauchst, dann melde Dich einfach.
      Mit bestem Gruß
      Mario Heiß
      Mario Heiß IT-Services

      Kommentar


      • #4
        ich habe die lösung

        Danke für die Antworten....
        Hatte nicht erwartet dass es soooo kompliziert ist.
        Hier nun meine Lösung:
        Script 1 ruft am Ende Script 2 auf und eben dann dieses
        wieder das Hauptmenue.

        <?
        $datei=fopen("D:\HP\Chat\Chatbesucher.txt","r"); //Anzahl Besucher z.Zt. im Chat
        while (!feof($datei)) {
        $useranzahl=fgets($datei,200); //bisherige Besucher aus Datei lesen
        }
        fclose($datei);
        if ($useranzahl > 0) {
        $datei=fopen("D:\HP\Chat\Chatbesucher.txt","w"); //Anzahl Besucher z.Zt. im Chat -1
        $useranzahl--;
        fputs ($datei,$useranzahl); // Besucher z.Zt. +1 schreiben
        fclose($datei);
        }
        ?>

        <script language="JavaScript">
        <!-- Verstecken für ältere Browser
        gehZielURL = "../menue.php";
        window.location = gehZielURL;
        // -- Rest nicht mehr verstecken -->
        </script>

        Kommentar

        Lädt...
        X