Knud Schröder: javascript:history_back() will nicht bei php-Scripten?

Hallo Forummer!

Bin ne kleine Geschichte mit PHP + MySQL am realisieren und wollte dann
ganz geschickt die Browser-Back-Funktion implementieren.

Hab ich ja auch schon hundert mal gemacht:

<a href="javascript:history.back()">Zurueck</a>

Aber datt will bei PHP irgendwie nicht, oder bin ich blind auf den Augen?

Danke für Eure Mühe+Hilfe,

Knud

  1. Hi,

    <a href="javascript:history.back()">Zurueck</a>
    Aber datt will bei PHP irgendwie nicht, oder bin ich blind auf den Augen?

    Also, mit PHP hat das ganz sicher nichts zu tun.
    PHP laeuft vollstaendig auf dem Server, der Browser merkt also gar nicht,
    ob der gerade eine PHP-Seite oder "undynamisches" HTML laedt.
    Der Fehler muss ein anderer sein, aber ohne Code faellt mir nichts
    ein.

    Gruesse,
    Gero

    1. Hi,

      <a href="javascript:history.back()">Zurueck</a>
      Aber datt will bei PHP irgendwie nicht, oder bin ich blind auf den Augen?

      Also, mit PHP hat das ganz sicher nichts zu tun.

      Dachte mir, da die PHP-Seite von einer PHP-Seite aufgerufen wurde
      (mit diversen Parametern) und vielleicht liegt ja dort das Übel?

      PHP laeuft vollstaendig auf dem Server, der Browser merkt also gar nicht,
      ob der gerade eine PHP-Seite oder "undynamisches" HTML laedt.

      Das ist mir schon klar.

      Der Fehler muss ein anderer sein, aber ohne Code faellt mir nichts
      ein.

      Hier kommt der Code:

      <html>
      <head>
      <TITLE>Hit-Liste</TITLE>
      <style type="text/css">
       body { font-family:Verdana;font-size:12pt;color:#20008F;}
       p { font-family:Verdana;font-size:12pt;color:#20008F;}
       b { font-family:Verdana;font-size:9pt;color:#20008F;}
       td { font-family:Verdana;font-size:8pt;color:#20008F;}
       a:link { font-family:Verdana;font-size:12pt;color:#20008F }
       a:visited { font-family:Verdana;font-size:12pt;color:#20008F }
      </style>
      </head>
      <body bgcolor="#FFFFCC">
      <center><table border=0><tr><td>
      <?
       $server = "localhost";
       $login = "";
       $pass = "";
       $dbname = "db";
       if ((!empty($personalnr)) AND ($stufe >= 1) AND ($stufe <= 3)) {
        $verbindung = @mysql_connect($server,$login,$pass);
        if (!$verbindung) {
         echo "Keine Verbindung möglich!\n";
         exit;
        }
        $datum = date ("Y-M-d");
        $x1 = date("Y");
        $x2 = date("m");
        $x3 = date("d")-30;
        $x4 = substr("0$x3",-2);
        $datum2 = "$x1-$x2-$x4";
        ?>
        <p>TOP 5 Menüs der letzten 30 Tage</p>
        <?
        $abfrage = "select * from essenbewegung AS b left join essenstamm as e on e.artikelnummer = b.artikelnummer where b.ndatum >= '$datum2' AND b.buchungsart = 'ABGEBUCHT'";
        $erg = mysql_db_query($dbname,$abfrage,$verbindung);
        $gesamt = mysql_affected_rows();
        $abfrage = "select b.*,e.*,count(*) as zaehl from essenbewegung AS b left join essenstamm as e on e.artikelnummer = b.artikelnummer where b.ndatum >= '$datum2' AND b.buchungsart = 'ABGEBUCHT' group by b.artikelnummer order by zaehl DESC limit 5";
        $erg = mysql_db_query($dbname,$abfrage,$verbindung);
        ?>
        <hr>...gezählt wurden <? echo $gesamt; ?> Menüs<hr>
        <table border=0 cellpadding=10 cellspacing=0>
        <?
        $zaehler = 0;
        while($row = mysql_fetch_array($erg)) {
         extract($row);
         $zaehler = $zaehler + 1;
         if (!empty($bild)) {
          $bn = $bild;
         } else {
          $bn = "nobild";
         }
         echo "<tr><td align=right>$zaehler.</td><td><a href="esseninfo.php3?essennr=$artikelnummer" target="_info"><img src="bilder/$bn.jpg" width=45 height=45 border=0></a></td><td>$bezeichnung</td><td>$zaehl</td></tr>";
        }
        ?>
        </table>
        <p>TOP 5 Menüs über alle Zeit</p>
        <?
        $abfrage = "select * from essenbewegung AS b left join essenstamm as e on e.artikelnummer = b.artikelnummer AND b.buchungsart = 'ABGEBUCHT'";
        $erg = mysql_db_query($dbname,$abfrage,$verbindung);
        $gesamt = mysql_affected_rows();
        $abfrage = "select b.*,e.*,count(*) as zaehl from essenbewegung AS b left join essenstamm as e on e.artikelnummer = b.artikelnummer where b.buchungsart = 'ABGEBUCHT' group by b.artikelnummer order by zaehl DESC limit 5";
        $erg = mysql_db_query($dbname,$abfrage,$verbindung);
        ?>
        <hr>...gezählt wurden <? echo $gesamt; ?> Menüs<hr>
        <table border=0 cellpadding=10 cellspacing=0>
        <?
        $zaehler = 0;
        while($row = mysql_fetch_array($erg)) {
         extract($row);
         $zaehler = $zaehler + 1;
         if (!empty($bild)) {
          $bn = $bild;
         } else {
          $bn = "nobild";
         }
         echo "<tr><td align=right>$zaehler.</td><td><a href="esseninfo.php3?essennr=$artikelnummer" target="_info"><img src="bilder/$bn.jpg" width=45 height=45 border=0></a></td><td>$bezeichnung</td><td>$zaehl</td></tr>";
        }
        ?>
        </table>
        <br><hr><br>
        <a href="http://web/essen/essen.html" target=_top>Zur Essensbestellung</a><br>
        <a href="http://web/" target=_top>Zurück zum Intranet</a><br>
        <a href="javascript:history_back()">Zurück zur letzten Seite</a><br>
        <?
       } else {
        ?>
        <p>Fehlerhafte Anmeldung!! Bitte gehen Sie über die entsprechenden Menüs oder klicken auf den nachfolgenden Link:</p><br>
        <a href="http://web/essen/essen.html" target=_top>Zur Essensbestellung</a><br>
        <a href="http://web/" target=_top>Zurück zum Intranet</a><br>
        <a href="javascript:history_back()">Zurück zur letzten Seite</a><br>
        <?
       }
      ?>
      </td></tr></table></center>
      </body>
      </html>

      Gruß,

      Knud

      1. Hi Knud,

        Hier kommt der Code:
          <a href="javascript:history_back()">Zurück zur letzten Seite</a><br>

        ^
                                       Na, da haben wir ihn doch ;-)
        Das sollte ein Punkt sein, die Funktion heisst history.back();

        Gruesse,
        Gero

  2. Hallo Knud,

    Bin ne kleine Geschichte mit PHP + MySQL am realisieren und wollte dann
    ganz geschickt die Browser-Back-Funktion implementieren.

    diese Funktion bieten alle mir bekannten Browser standardmäßig
    bereits an, meist in Form einer Schaltfläche im oberer linken
    Teil der mitgelieferten Symbolleiste.

    <a href="javascript:history.back()">Zurueck</a>
    Aber datt will bei PHP irgendwie nicht, oder bin ich blind auf den Augen?

    Wie jetzt, steht in dem geparsten Quelltext dann diese Zeile so drin
    und es funktioniert nicht? Wenn ja, dann poste bitte mal den Quell-
    text (PHP) und gib uns den URL zu der Seite.

    Viele Grüße aus Dresden,
    Stefan Einspender

    1. Hallo Knud,

      Bin ne kleine Geschichte mit PHP + MySQL am realisieren und wollte dann
      ganz geschickt die Browser-Back-Funktion implementieren.

      diese Funktion bieten alle mir bekannten Browser standardmäßig
      bereits an, meist in Form einer Schaltfläche im oberer linken
      Teil der mitgelieferten Symbolleiste.

      Ja, ja, ja, als ob ich das nicht wüsste.
      Aber ne Menge DAU's wissen nicht von dem Button. Und so'n Link auf der Seite
      mit der gleichen Funktion iss ja eigentlich nicht so schwer.

      <a href="javascript:history.back()">Zurueck</a>
      Aber datt will bei PHP irgendwie nicht, oder bin ich blind auf den Augen?

      Wie jetzt, steht in dem geparsten Quelltext dann diese Zeile so drin
      und es funktioniert nicht? Wenn ja, dann poste bitte mal den Quell-
      text (PHP) und gib uns den URL zu der Seite.

      Also, Quelltext aufgerufen, nachgeschaut, Zeile und Rest steht korrekt drin.
      Aber funktionieren tut's nicht.

      Hier halt der Quelltext, wenn hilft:
      (Das ganze liegt im Intranet und nicht im WWW)

      <html>
      <head>
      <TITLE>Hit-Liste</TITLE>
      <style type="text/css">
       body { font-family:Verdana;font-size:12pt;color:#20008F;}
       p { font-family:Verdana;font-size:12pt;color:#20008F;}
       b { font-family:Verdana;font-size:9pt;color:#20008F;}
       td { font-family:Verdana;font-size:8pt;color:#20008F;}
       a:link { font-family:Verdana;font-size:12pt;color:#20008F }
       a:visited { font-family:Verdana;font-size:12pt;color:#20008F }
      </style>
      </head>
      <body bgcolor="#FFFFCC">
      <center><table border=0><tr><td>
      <?
       $server = "localhost";
       $login = "";
       $pass = "";
       $dbname = "db";
       if ((!empty($personalnr)) AND ($stufe >= 1) AND ($stufe <= 3)) {
        $verbindung = @mysql_connect($server,$login,$pass);
        if (!$verbindung) {
         echo "Keine Verbindung möglich!\n";
         exit;
        }
        $datum = date ("Y-M-d");
        $x1 = date("Y");
        $x2 = date("m");
        $x3 = date("d")-30;
        $x4 = substr("0$x3",-2);
        $datum2 = "$x1-$x2-$x4";
        ?>
        <p>TOP 5 Menüs der letzten 30 Tage</p>
        <?
        $abfrage = "select * from essenbewegung AS b left join essenstamm as e on e.artikelnummer = b.artikelnummer where b.ndatum >= '$datum2' AND b.buchungsart = 'ABGEBUCHT'";
        $erg = mysql_db_query($dbname,$abfrage,$verbindung);
        $gesamt = mysql_affected_rows();
        $abfrage = "select b.*,e.*,count(*) as zaehl from essenbewegung AS b left join essenstamm as e on e.artikelnummer = b.artikelnummer where b.ndatum >= '$datum2' AND b.buchungsart = 'ABGEBUCHT' group by b.artikelnummer order by zaehl DESC limit 5";
        $erg = mysql_db_query($dbname,$abfrage,$verbindung);
        ?>
        <hr>...gezählt wurden <? echo $gesamt; ?> Menüs<hr>
        <table border=0 cellpadding=10 cellspacing=0>
        <?
        $zaehler = 0;
        while($row = mysql_fetch_array($erg)) {
         extract($row);
         $zaehler = $zaehler + 1;
         if (!empty($bild)) {
          $bn = $bild;
         } else {
          $bn = "nobild";
         }
         echo "<tr><td align=right>$zaehler.</td><td><a href="esseninfo.php3?essennr=$artikelnummer" target="_info"><img src="bilder/$bn.jpg" width=45 height=45 border=0></a></td><td>$bezeichnung</td><td>$zaehl</td></tr>";
        }
        ?>
        </table>
        <p>TOP 5 Menüs über alle Zeit</p>
        <?
        $abfrage = "select * from essenbewegung AS b left join essenstamm as e on e.artikelnummer = b.artikelnummer AND b.buchungsart = 'ABGEBUCHT'";
        $erg = mysql_db_query($dbname,$abfrage,$verbindung);
        $gesamt = mysql_affected_rows();
        $abfrage = "select b.*,e.*,count(*) as zaehl from essenbewegung AS b left join essenstamm as e on e.artikelnummer = b.artikelnummer where b.buchungsart = 'ABGEBUCHT' group by b.artikelnummer order by zaehl DESC limit 5";
        $erg = mysql_db_query($dbname,$abfrage,$verbindung);
        ?>
        <hr>...gezählt wurden <? echo $gesamt; ?> Menüs<hr>
        <table border=0 cellpadding=10 cellspacing=0>
        <?
        $zaehler = 0;
        while($row = mysql_fetch_array($erg)) {
         extract($row);
         $zaehler = $zaehler + 1;
         if (!empty($bild)) {
          $bn = $bild;
         } else {
          $bn = "nobild";
         }
         echo "<tr><td align=right>$zaehler.</td><td><a href="esseninfo.php3?essennr=$artikelnummer" target="_info"><img src="bilder/$bn.jpg" width=45 height=45 border=0></a></td><td>$bezeichnung</td><td>$zaehl</td></tr>";
        }
        ?>
        </table>
        <br><hr><br>
        <a href="http://web/essen/essen.html" target=_top>Zur Essensbestellung</a><br>
        <a href="http://web/" target=_top>Zurück zum Intranet</a><br>
        <a href="javascript:history_back()">Zurück zur letzten Seite</a><br>
        <?
       } else {
        ?>
        <p>Fehlerhafte Anmeldung!! Bitte gehen Sie über die entsprechenden Menüs oder klicken auf den nachfolgenden Link:</p><br>
        <a href="http://web/essen/essen.html" target=_top>Zur Essensbestellung</a><br>
        <a href="http://web/" target=_top>Zurück zum Intranet</a><br>
        <a href="javascript:history_back()">Zurück zur letzten Seite</a><br>
        <?
       }
      ?>
      </td></tr></table></center>
      </body>
      </html>

      Gruß,

      Knud