Brauch mal Hilfe zum Refreshen einer Seite !

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

  • Brauch mal Hilfe zum Refreshen einer Seite !

    Hi,

    brauche mal Hilfe von Euch. Also ich habe eine Hauptseite von dort aus öffnet sich ein Fenster wo der User sich bedanken kann. Danch schliesst sich das Fenster wieder und der User muss aber auf der Hauptseite, die Hauptseite selber aktualsieren und das raffen viele nicht.

    Nun meine Frage wer kann mir sagen welchen Befehl ich in meine reine PHP Datei einbinden muss ??

    BITTE BITTE

    Hier Die Datei

    Code:
    <?php
    $filename="thxvote.php";
    require ("global.php");
    
    if(!$wbbuserdata['userid']) access_error();
    if(!isset($threadid)) eval("error(\"".$tpl->get("error_falselink")."\");");
    if(!$thread[thx]) eval("error(\"".$tpl->get("error_nothxthread")."\");");
    if($thread[starterid] == $wbbuserdata['userid']) eval("error(\"".$tpl->get("error_selfthx")."\");");
    $thxcheck = $db->query_first("SELECT threadid FROM bb".$n."_thanx WHERE threadid = '$threadid' AND userid = '$wbbuserdata[userid]'");
    if($thxcheck['threadid']) eval("error(\"".$tpl->get("error_alreadythx")."\");");
    
    $db->query("INSERT INTO bb".$n."_thanx VALUES ('$threadid','$wbbuserdata[userid]')");
    $result = $db->query("SELECT thx.userid, users.username FROM bb".$n."_thanx AS thx LEFT JOIN bb".$n."_users AS users USING (userid) WHERE threadid = '$threadid' GROUP BY thx.userid ORDER BY users.username");
    while ($row = $db->fetch_array($result)) {
     if($row['username']){
      if($message) $message .= ", ";
      $message .= "[URL=$url2board/profile.php?userid=$row[userid]]$row[username][/URL]";
     }
    }
    $message .= "\n\n[URL=$url2board/thxvote.php?threadid=$threadid]Klicken Sie hier, um sich zu bedanken![/URL]";
    $thxcount = $db->query_first("SELECT COUNT(*) FROM bb".$n."_thanx WHERE threadid = '$threadid'");
    $db->query("UPDATE bb".$n."_posts SET message='$message', posttopic='Für diesen Beitrag bedanken sich folgende $thxcount[0] User:' WHERE threadid = '$threadid' AND userid = '$botuserid'");
    $thxcount[0]++;
    $db->query("UPDATE bb".$n."_threads SET thx='$thxcount[0]' WHERE threadid='$threadid'");
    
    eval("\$tpl->output(\"".$tpl->get("window_close")."\");");
    //header("Location: thread.php?threadid=$threadid");
    exit();
    ?>
    Zuletzt geändert von Ennoman; 14.07.2003, 20:45.

  • #2
    PHP-Code:
    // Kommt auf die Hauptseite

    <script language="JavaScript" type="text/JavaScript">

    function 
    neu(){
    location.reload();
    }

    </
    script
    PHP-Code:
    //Kommt in das Fenster das sich öffnet, sobald dies schließt kommt ein Refresh im Hauptfenster.


    <script language="JavaScript">

    function 
    refresh(){

    opener.neu();

    }



    </
    script
    Leider weißt das Scrpt noch einen kl. Bug auf. Es funktioniert aber, nur eben bei XP mit ner Fehlermeldung, bei 2000 macht der Browser keinen Muks.

    Mickl

    P.S.: Vielleicht weiß ja einer der anderen wo der Fehler bei mir ist.
    Du weißt und wußtest nichts, Du dachtest zu wissen, doch du wußtest nicht
    das Du es nicht weißt was Du vielleicht wissen hättest können.

    Kommentar


    • #3
      Tja, also was du in deinen PHP-Code schreiben musst kann ich dir nicht sagen, denn ich weiß nicht, wie dein Template-System funktioniert. Du musst auf jeden Fall in dem geöffneten Fenster folgendes in deinen <body> Tag schreiben:
      Code:
      onUnload="window.opener.location.reload()"
      also etwa so:
      Code:
      <body onUnload="window.opener.location.reload()">
      sobald das Fenster geschloßen wird, wird das Fenster, das dieses geöffnet hat aktualisiert.
      hopka.net!

      Kommentar


      • #4
        @Hopka,

        meine Datei sieht so aus wie die da oben abgebildet ist nichts weiter !!!

        Kommentar


        • #5
          kleiner tipp,

          am anfang des scripts

          ob_start();

          ....

          und am ende

          ob_end_flush();

          dazwischen dann seitensprünge mit

          header("location: index.php?arg=value");

          du hast dann keine hässlichen farbsprünge mehr, weil die seite zuvor nicht erstmal geladen wirde, bevor der sprung stattfindet.
          die ob_* geschichten helfen, "headers already sent" errors zu vermeiden (z.b., wenn du im script vorher ein cookie anlegst).

          Kommentar


          • #6
            Hi,

            Danke erstmal an Euch,

            könnte einer von Euch mal die Vorschläge auch mal in meine Datei oben einbinden ? Bin da noch nicht so der Fuchs drin.

            THX

            Kommentar


            • #7
              @ thomas.ney

              Hi,

              schau mal oben in die PHP Datei so ist sie und so habe ich sie.
              Das ist ja mein Problem was ich habe, es ist eine reine PHP Datei und nun weiß nicht wie ich die Hauptseite von wo der Aufruf kam aktualisieren kann.

              Kommentar


              • #8
                Habe mal ein Bild angehangen wo es ist, dort klciken die Leute rauf, das Fesnter öffnet sich und schliesst sich gleich. Dadurch wurde der User für den Thread freigeschaltet und kann nun alle Infos sehen, aber erst muss er die Seite aktualisieren.
                Angehängte Dateien

                Kommentar


                • #9
                  Danke dir werde es gleich mal probieren.

                  und wo trage ich es in meine PHP Datei rein am Anfang oder wo ?

                  Kommentar


                  • #10
                    Original geschrieben von Ennoman
                    und wo trage ich es in meine PHP Datei rein am Anfang oder wo ?
                    willst du eigentlich ALLES vorgekaut bekommen?

                    sieh in selfhtml nach, wo ein meta tag in einer html datei hingehört.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      es ist doch keine HTML Datei das ist ja mein Problem !!!

                      Kommentar


                      • #12
                        Ich habe hier noch ein Java Script mit dem es funzen soll nur weiß ich nicht wo und wie ich es einbauen soll.

                        Code:
                        <script language="JavaScript">
                         <!--
                          window.opener.location.href = window.opener.location.href;
                          self.close();
                         //-->
                        </script>

                        Kommentar


                        • #13
                          Danke Thomas,

                          aber leider bekomme ich es nicht hin !!

                          Kommentar


                          • #14
                            @ Thomas,

                            die PHP Seite die ich am Anfang gepostet habe, wo packe ich da was rein ?
                            wenn du willst kann ich auch die Hauptseite mal hier rein kopieren von wo das Fenster aus geöffnet wird.

                            Kommentar


                            • #15
                              Original geschrieben von Ennoman
                              @Hopka,

                              meine Datei sieht so aus wie die da oben abgebildet ist nichts weiter !!!
                              Das hab ich mir schon gedacht.

                              Nur rufst du in dieser PHP-Datei Sachen auf, die nicht da drinstehen
                              "...$tpl->output..."

                              Daraus entnehme ich, dass du ein Template-System hast, also wirst du die Sachen entweder über das Template-System ausgeben müssen oder einfach die entsprechende Template-Datei ändern.

                              Das, was du machen willst, nämlich das hauptfenster aktualisieren, wenn das geöffnete Fenster geschlossen wird geht nicht mit PHP sondern mit JavaScript, folglich musst du die ganzen Sachen die gepostet wurden auch in der Ausgabe des PHP-Scriptes ändern. Diese Ausgabe wird bei dir über das Template-System gesteuert. Und das, was ich dir gepostet habe funktioniert 100% und macht genau das, was du willst.

                              Code:
                              onUnload="window.opener.location.reload()"
                              hopka.net!

                              Kommentar

                              Lädt...
                              X