0

私はここで初心者です

メール購読が必要です

だからphpとmysqlで私はこのフォームを作成することができました

   <?php

  /*
  Template name: mail form
  */
 // if using a custom function, you need this
 $Email = $_POST['email-form'];
 $firstn = $_POST['First-name'];


   global $wpdb;
   $table_name = $wpdb->prefix . "new_mail_form";
   $wpdb->insert( $table_name, array( 'email' => $Email, 'name' => $firstn ) )


    ?>

    <form method="post" action="#"  enctype="multipart/form-data" id="Submitform" >

 <fieldset class="email-form"> 
   <label for="email-form">:</label> 
   <input type="text" name="email-form" id="email-form"  placeholder="Enter Your Email here" />

</fieldset>

  <fieldset class="First-name"> 
  <label for="First-name">:</label> 
  <input type="text" name="First-name" id="First-name"  placeholder="Enter Your Name here" />

 </fieldset>
  <  input type="submit" value="Publish Post" tabindex="40" id="submit" name="submit" class="submitbutton" />
  </form>

しかし、問題は、ページを更新するたびに、SQLにエントリが追加されることです。

したがって、誰かがページをロードすると、空白のエントリが自動的に追加されます

どうすればそれを防ぐことができますか?/

4

1 に答える 1

1

これは、フォームが最初に送信されたかどうかを確認していないためです。これを試して:

if (!empty($_POST)) {
    $Email = $_POST['email-form'];
    $firstn = $_POST['First-name'];

    global $wpdb;
    $table_name = $wpdb -> prefix . "new_mail_form";
    $wpdb -> insert($table_name, array('email' => $Email, 'name' => $firstn));
}
于 2013-02-23T15:50:15.003 に答える