Ankündigung

Einklappen
Keine Ankündigung bisher.

Funktion, um Absenden des Kontaktformulares zu ermitteln?

Einklappen

Neue Werbung 2019

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

  • Funktion, um Absenden des Kontaktformulares zu ermitteln?

    Moin,
    ich arbeite zur Zeit im Rahmen meines Schülerpraktikums testweise an einem Quizspiel.

    Ich möchte herauslesen, wann ein Nutzer das Formular abschickt. Sinn dahinter: Die Seite selbst wird über das Formular neu geladen, die Fragen und Antwortmöglichkeiten sollen über einen internen Zähler geregelt werden.
    Eben dieser Zähler soll beim Abschicken des Formulares um 1 erhöht werden.

    Habt ihr da eine passende Idee?
    PHP-Code:
    echo $_POST['Beitrag_DAU']; 

  • #2
    Ähm...


    PHP-Code:
    if (isset($_POST["namedeinesubmitButtons"])){
    //... 
    meinste das??

    Wolf29

    P.S. schau auch mal hier: http://www.php-kurs.com/formularauswertung-mit-php.htm
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      Dein Formular hat ja die Schaltfläche
      Code:
      <input type="submit" name="formularsenden" value="Senden">
      Du kannst in deinem Script abfragen:
      PHP-Code:
      if ( isset($_POST['formularsenden']) ) {
        
      // Formular abgeschickt

      Und das wird in den meisten Fällen auch funktionieren.

      Manche Browser übertragen diese Schaltfläche aber dann nicht, wenn das Formular durch Drücken der Enter-taste abgeschickt wurde. Es empfielt sich daher, dem Formular ein verstecktes Eingabefeld hinzuzufügen und dieses dann abzufragen:

      Code:
      <input name="Formular" type="hidden" id="Formular" value="abgesandt">
      PHP-Code:
      if ( isset($_POST['Formular']) and $_POST['Formular'] == 'abgesandt') {
        
      // Formular abgeschickt

      [PHP]if ($var != 0) {
      $var = 0;
      }[/PHP]

      Kommentar


      • #4
        Moin, ich habe es nun doch anders realisiert, direkt über das Formular selbst Am Anfang hatte das nciht so ganz funktioniert, als cih automatisch immer um eins erhöhen wollte (direkt in dem Formular). Sieht nun so aus:
        PHP-Code:
            $nxtfragenr=$fragenr+1;
            echo 
        "<p><p>
                    <div align='center'>
                    <form action='werwird.php?fragenr="
        .$nxtfragenr." method='get'> 
        Aber auf jeden Fall trotzdem vielen Dank!

        Vorher hatte ich:
        PHP-Code:
                    <form action='werwird.php?fragenr=".$nxtfragenr+1." method='get'> 
        PHP-Code:
        echo $_POST['Beitrag_DAU']; 

        Kommentar


        • #5
          Einige Fehler:
          1. <p><p>????
          2. <form action='werwird.php?fragenr=".$nxtfragenr." method='get'>

          Kommentar


          • #6
            ...zudem scheint auch keine Prüfung der DET-Parameter vorgenommen zu werden. Nicht wirklich sicher!

            Wolf29
            while (!asleep()) sheep++;

            Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

            Kommentar


            • #7
              Das hat auch mit der ursprünglichen Fragestellung nichts zu tun.
              [PHP]if ($var != 0) {
              $var = 0;
              }[/PHP]

              Kommentar


              • #8
                Das stimmt wohl, aber Hinweis auf mögliche Sicherheitsmängel ist imho nie wirklich schlecht.

                mfg Wolf29
                while (!asleep()) sheep++;

                Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                Kommentar


                • #9
                  Ich gebe wolf29, mit Ausnahme seines meiner Meinung nach überflüssigen Smilys (aber daran solle es nicht scheitern) Recht. Hast du einen Verweis zu dem Thema Via Google wurde ich leider nicht fündig (vielleicht die falschen Schlüsselworte benutzt...?)?
                  PHP-Code:
                  echo $_POST['Beitrag_DAU']; 

                  Kommentar


                  • #10
                    Zitat von Bas Beitrag anzeigen
                    Moin, ich habe es nun doch anders realisiert, direkt über das Formular selbst Am Anfang hatte das nciht so ganz funktioniert, als cih automatisch immer um eins erhöhen wollte (direkt in dem Formular). Sieht nun so aus:
                    PHP-Code:
                        $nxtfragenr=$fragenr+1;
                        echo 
                    "<p><p>
                                <div align='center'>
                                <form action='werwird.php?fragenr="
                    .$nxtfragenr." method='get'> 
                    Aber auf jeden Fall trotzdem vielen Dank!

                    Vorher hatte ich:
                    PHP-Code:
                                <form action='werwird.php?fragenr=".$nxtfragenr+1." method='get'> 
                    PHP-Code:
                    echo '<form action="werwird.php" method="get">
                             <input type="hidden" name="fragenr" value="'
                    .($nxtfragenr++).'" />
                             <input(s) ... />
                            </form>'

                    - Spiele kein url-encode-Lego im action-attribut des forms, lass das den browser machen
                    - GET-Items die der user nicht definiert kannst du per "hidden"-Type definieren, die werden dann vom browser automatisch encoded und dem script übergeben, vorausgesetzt das dokument hat einen ebendsolchen Meta-Tag oder das Formular ein ebendsolches "encoding"-attribut

                    Sicherheitstechnisch könntest du auch dem $nxtfragenr einen Integer-Typecast aufzwingen, insofern du mit PHP5+ arbeitest.
                    [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                    Kommentar

                    Lädt...
                    X