submit drücken -> aktion

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

  • submit drücken -> aktion

    hi leute,

    da gibts sicher ne if-anweisung, wenn ich jetzt zum beispiel den submit button drücke, dass nur dan die aktion ausgeführt wird, nicht jedoch wenn ich auf f5 drücke...

    weiß da jemand etwas..

  • #2
    achso du meinst wenn man einmal submit drückt und dann F5 wird z.B. der eintrag noch mal eingetragen


    warum machst du nicht einfach ne zwischenweite

    <form action="zwischenseite.php">

    zwischenseite.php
    INSER INTO table '". POST['daten] ...... halt die mysql geschichten

    und dann nen Redirect/ metarefresh/ header wieder zu der site mit dem forumular
    thx Mukraker

    Kommentar


    • #3
      ne gerade das will ich nich ich stell mir das UNGEFAIR so vor:

      PHP-Code:

      if ( $submit == 1)

      {

      blabla


      Kommentar


      • #4
        Hö? Also woher soll den der Server wissen ob der User F5 gedrückt hat oder ob er die Daten ein zweites Mal geschickt hat?

        Du kannst das aber mit ner IP Abfrage lösen. Einfach IP sichern und mit der aktuellen Anfrage vergleichen und schon löst sich das problem...
        Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil!
        (Albert Einstein)

        Kommentar


        • #5
          F5 is echt mies. du kannst einen kleinen bug vom ie ausnutzen, der sich seit dem 4er nicht geändert hat.
          öffne beim drücken von F5 per js-event handler ein winzig kleines popup und reloade die seite mit einem location.href, und zwar so, dass die alten parameter nicht mehr dabei sind. der ie führt zuerst dein js aus und der reload versandet.

          is zwar kein php aber eine kleine notlösung die mir mal geholfen hat.

          Kommentar


          • #6
            würde es auch nicht so gehen:

            Du überprüfst vor dem Eintragen der Daten, ob schon eine Session gestartet ist, falls sie gestartet ist, gibst du nen Error aus.
            Ahja die Session solltest du nach dem Eintragen starten, so dürfte das mit dem F5 auch nicht mehr klappen, da die Session in dem Fenster erhalten bleibt
            Für Rechtschreibfehler übernehme ich keine Haftung!

            Kommentar


            • #7
              geht das nich einfacher ???

              dass nur wenn ich den button drücke die folge aktion startet...

              Kommentar


              • #8
                ich habs jetzt so gelöst:

                PHP-Code:
                <input type="submit" name="submit">

                if (
                $submit)
                {
                   ...die 
                Aktion...

                Kommentar


                • #9
                  hiob, die andren sind dir einfach nen schritt voraus,
                  du wirst gleich auf das problem stossen dass du das formular abschickst, f5 drückst und das formular dadurch nochmal abschickst (nach bestätigung der ie-abfrage)

                  btw: ja, du hast dich unklar ausgedrückt
                  mfg,
                  [color=#0080c0]Coragon[/color]

                  Kommentar


                  • #10
                    ich komme nich klar was du damit meinst...

                    Kommentar


                    • #11
                      Original geschrieben von Hiob
                      ich komme nich klar was du damit meinst...
                      soll heissen: das was du als "lösung" präsentierst, ist keine.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        na dann noch mal von vorne:

                        ich habe ein formular mit nur einem textfeld...

                        wenn ich nun auf submit drück werden die daten vom textfeld in eine datei gespeichert...

                        so und wenn ich jetzt die seite aktualisiere (f5) dann werden die daten nochmal gespeichert...keine ahnung warum..

                        und genau das will ich NICHT!!!

                        Kommentar


                        • #13
                          Original geschrieben von Hiob
                          keine ahnung warum...
                          F5 = Aktualisieren / Neu laden der Seite

                          Die Seite die du neu lädst, ist die, die du abgeschickt hast, daher sendet dein Browser das Formular nochmal.
                          Formular nochmal senden heißt: Es passiert exakt das gleiche wie beim Abschicken mittels Button

                          stell dir vor, du gibst in einem Formular ein, dass du die letzten 10 Lieder eines beliebigen Radiosenders sehen willst.
                          Wenn du nach dem Abschicken 5 MInuten wartest, stiummt die Liste nicht mehr, also drückst du einfach F5 und kriegst die aktuelle Liste. Da ist das (obwohl blödes beispiel ) wünschenswert. Woher soll also dein Browser wissen, wann er was bei der gleichen Aktion von dir machen soll?

                          du könntest aber sowas machen
                          PHP-Code:
                          if (isset($_POST['namedessubmitbuttons'])) //Formular wurde abgeschickt
                          {
                            
                          //deine ganzen Aktionen
                            
                          header('location: '.$_SERVER['REQUEST_URI']);

                          setzt voraus, dass du die Daten per post übermittelst oder hast du alles in der adressleiste stehen?
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            danke danke danke!!!

                            Kommentar

                            Lädt...
                            X