Back-Button ohne Javascript



  • Hi Leute,

    also ich hab hier nen einfaches Formular, bei dem ich, wenn die Daten übergebe, prüfe, ob die Pflichtfelder ausgefüllt sind. Wenn nicht, geb ich einen Fehler aus und biete an, wieder zurück zum Kontaktforumlar zu gelangen. Dies mach ich atm mit einen Javaschript-Link:

    <a href="javascript:history.back();">Zurück zum Kontaktformular</a>
    

    Meine Frage jetzt: Der User hat Javascript aus. Welches Lösung gibt es noch, damit, wenn man zurück zum Forumlar gelangt, alle eingegebenen Daten vorhanden sind?

    cu
    Hexa



  • wenn du weißt, von wo er kommt, ist es doch ein leichtes zurückzuverlinken. kannst die daten des formulars in sessions speichern und ggf wieder auslesen. muss ja nichmal mit sessions geregelt sein. kannst die angaben via get an die url hängen und im kontaktformular wieder hereinschreiben



  • danke, hab aber gerade ne andere Lösung gefunden. Einfach per hidden input felder zurück geben.



  • Du kannst (mit PHP) die Variable $_SERVER['HTTP_REFERER'] benutzen, sie enthält die Adresse der Seite, von der du grad kommst.

    <?php
    
        if(isset($_SERVER['HTTP_REFERER']) and !empty($_SERVER['HTTP_REFERER']))
        {
             echo "<a href=\"$_SERVER[HTTP_REFERER]\">Zur&uuml;ck zum Kontakt Formular</a>\n";
        }
    
    ?>
    

    In (X)HTML werden ä,Ä,ö,Ö,ü,Ü so geschrieben &xuml;, wobei x=a,Ao,O,u,U, also Zurück schreibt man ü oder man benutzt htmlentities("Zurück").



  • Hexa schrieb:

    danke, hab aber gerade ne andere Lösung gefunden. Einfach per hidden input felder zurück geben.

    Hmm...? Jetzt bin ich mal gespannt... das würde mich schon mal interessieren, wie du das hinbekommen hast...



  • <!-- dl.html //-->
    ...<html> usw
    <form method="post" action="kontakt.php">
    <input type="hidden" name="ref" value="dl">
    <a type="submit">Kontaktformular</a>
    ...
    
    <!-- kontakt.html //-->
    ...
    <?php
      if(isset($_POST['ref']) && !empty($_POST['ref']))
      {
        $referer=$_POST['ref'];
        echo '<a href="'.$referer.'.html">Zur&uuml;ck</a><br />';
      }
    ?>
    ...
    

    so in der art schätz ich !?



  • Achso... naja, ok, wenn das Formulart schon bekannt ist, etc... ansonsten würde ich doch die Methode mit dem REFERER bevorzugen, da man diese überall anwenden kann ^^

    - Windoof



  • ich auch 😃

    ich hab nur deine frage beantwortet 🙂



  • Jo, und dafür bedanke ich mich 😉

    Aber mal so eine Frage, die vielleicht hier hereinpasst, da im Titel ja "Button" steht und nicht "Link": Wie macht man einen Button, und der, wenn man darauf klickt, auf eine andere Seite verweist, ohne dass man eine Script-Sprache verwendet (außer HTML halt)?

    Das mal so als Zwischenfrage ^^



  • <button type="submit">Zur&uuml;ck</button>
    

    😃

    [€dit] wieder eine beantwortet 🤡 *haken*



  • also nur per formular... hmm... gibts da echt keine bessere variante...?



  • nicht unbedingt, wenn du vorher kein Formular hattest, dann ist meine Lösung besser


  • Mod

    Windoof schrieb:

    also nur per formular... hmm... gibts da echt keine bessere variante...?

    Ich denke JS ist dafuer schon geeignet. Es ist ja ein Zusatzrfeature ohne dem man bequem auskommen kann (es gibt ja im Browser sowieso einen zurueck Button)



  • Nur wenn man JS deaktiviert, der Zurück-Knopf oder Link funktioniert nicht mehr. Ich glaube, wenn man PHP hat, sollte man $_SERVER['HTTP_REFERER'] benutzen, alle Browser senden das, mir ist aufgefallen dass nur unter https nicht gesendet wird.


  • Mod

    supertux schrieb:

    Nur wenn man JS deaktiviert, der Zurück-Knopf oder Link funktioniert nicht mehr. Ich glaube, wenn man PHP hat, sollte man $_SERVER['HTTP_REFERER'] benutzen, alle Browser senden das, mir ist aufgefallen dass nur unter https nicht gesendet wird.

    *OMFG* NEIN

    den JS link gibt man natuerlich mit JS aus. So sehen Leute die kein JS haben, den Link garnicht.

    Und wer REFERER benutzt, den kann man nicht ernst nehmen

    kleiner tip:
    http://www.php-faq.de/q/q-http-referer.html

    Auch wenn jetzt das Argument kommt: es ist doch nicht sicherheitsrelevant. Ja, das ist es nicht - aber der User wird sich denken, dass deine Seite kaputt ist, wenn er (ohne es zu wissen) einen falschen referer sendet.

    und in der heutigen zeit der inet paranoia haben viele Leute Webwasher installiert (obwohl dies totaler bloedsinn ist).



  • @Shade
    Wie würdest du es also lösen?


  • Mod

    Trunxx schrieb:

    @Shade
    Wie würdest du es also lösen?

    mit JS, habe ich schon gesagt.

    JS ist fuer sowas sinnloses ziemlich ideal. weil es niemandem weh tut, wenn es nicht da ist, wenn es da ist, aber immer funktioniert.



  • Oh, sorry hab das nicht gelesen 😃
    Aber danke.



  • Man kann einen Zurück-Button auch komplett weglassen... so beginnt man dann eine neue Art von Paranoia: Die Webhoster-Paranoia ^^ nein mal im Ernst:

    Wer so paranoid ist und dieses Tool, wie auch immer das nochmal heißt, installiertund damit einen falschen Referer sendet, der muss einfach damit rechnen, dass ihm das Ganze irgendwann mal um die Ohren fliegt.

    Dass JS deaktiviert ist, davon geht ein Webhoster inzwischen aus. Aber eine gute Idee (wie ich das bei mir auch mache) ist: JS-Dinge auch nur mit JS zeichnen, sodass diejenigen, die JS deaktivieren, das garnicht mitkriegen, dass ihnen etwas fehlt. - So hab ich das bei mir mit einer JS-Uhr gemacht, die zur Laufzeit die Uhrzeit aufzählt...



  • @Shade, REFERER ist dann genauso sicher wie mit JS, so wie ich gepostet hab, erscheint der Link nur wenn REFERER wirklich gesendet worden ist. Mir persönlich gefällt diese Back-Button Geschichte gar nicht (als Benutzer), denn dafür haben die Browser selber einen Knopf eingebaut.


Log in to reply