2021年1月16日星期六

Form output when the page is reloaded

I have the following problem, if I do not enter anything in the form, of course nothing happens. But then how can I prevent the email from being sent to whom I reload the page? Or why is that?

<html>      <head>      <link rel="stylesheet" href="style.css">          <title>Newslatter Anmeldung</title>          <meta charset="utf-8">      </head>      <body>          <div>            <form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">              <p>Ihre E-Mail adresse bitte: </p>              <input type="email" name="Email" required>              <p>Anrede: (optional)</p>              <input type="radio" name="Geschlecht" value="Mann">              <label for="Geschlecht">Mann</label><br>              <input type="radio" name="Geschlecht" value="Frau">              <label for="Geschlecht">Frau</label><br>              <p>Vorname: (optional)</p>              <input type="text" name="Vorname">              <p>Nachname: (optional)</p>              <input type="text" name="Nachname">              <p><input type="checkbox" name="bestaetigung" required>hiermit bin ich einverstanden,<br> dass meine Daten elektronisch gespeichert werden,<br> damit mir die gewünschte Newsletter zugestellt werden kann ... <br>(gesetzliches Blahblah zum Datenschutz und Speicherung der Daten ....)</p>              <input type="submit" value="Anmelden" name="submit">          </form>          </div>      </body>  </html>  <?php  if(isset($_POST['submit'])){      if(isset($_POST['Email']) and !empty($_POST['Email'])){           if(isset($_POST['bestaetigung'])){              $Email = $_POST['Email'];              @$Geschlecht = $_POST['Geschlecht'];              $Vorname = htmlspecialchars(stripslashes(trim($_POST['Vorname'])));              $Nachname = htmlspecialchars(stripslashes(trim($_POST['Nachname'])));                $date = date("syHjin");                $file = fopen("nl-anwaerter.txt", "a");              fwrite($file, "$Email");              fwrite($file, "|");              fwrite($file, "$Geschlecht");              fwrite($file, "|");              fwrite($file, "$Vorname");              fwrite($file, "|");              fwrite($file, "$Nachname");              fwrite($file, "|");              fwrite($file, "$date");              fwrite($file, "\n");              fclose($file);                $empaenger = "$Email";              $betreff = "Ihre Newsletter Anmeldung";              $from = "From: PHP mailer <deinnews@letter.de>\r\n ";              $from .= "Reply-To: php@mail.com\r\n";              $from .= "Content-Type: text/html; charset=utf-8\r\n";              $msg = "<h1>Newsletter Anmeldung</h1><br><p>Hallo $Vorname $Nachname um dich entgültig für den Nwesletter anzumelden Klicke bitte auf folgenden Linl: ";                if(mail($empaenger,$betreff,$msg,$from)){                  echo "Eine E-Mail wurde erfolgreich an $Email gesendet, bitte klicke auf den Link in dieser um die Anmeldung zu bestätiegen";              }            }      }    }  ?>
https://stackoverflow.com/questions/65754256/form-output-when-the-page-is-reloaded January 17, 2021 at 04:15AM

没有评论:

发表评论