2017-08-16 8 views
-1

J'essaie d'utiliser cette gemme pour créer un champ de pot de miel, mais je ne sais pas comment l'implémenter. Comment le formulaire sait-il quel champ créer le honeypot et où dois-je spécifier l'étiquette?Honeypot ne fonctionne pas sous forme PHP

Il devrait fonctionner comme ceci:

  1. utilisateur arrive à la page d'atterrissage
  2. utilisateur voit le formulaire d'inscription comprenant:

    1. boîte email d'entrée d'adresse
    2. champ honeypot qui est caché
  3. Si un bot s'enregistre il remplira le pot de miel, ainsi quand l'invitation est créée je peux automatiquement accepter ceux qui ne remplissent pas le pot de miel et ceux qui le feront seront rejetés.

Voici le code que je l'ai utilisé pour la forme

index.php

 <div id="customer_lay"> 
      <h1>Customer Service</h1><br/><br/> 
      <div id="enewsletter"> 
       <ul>  
        <p>Subscribe to eNewsletter</p> 
        <li><a href="javascript: alert("eNewsletter informs about newest products, product updates and technical information.If you like to be informed about current issues please leave us your email address.Each newsletter contains a link to unsubscribe from the mailing list');"><img src="images/index/bt_guide.gif" width="65" height="30" /></a></li> 
       </ul> 
       <form name="enewsform" id="enewsform" action="enewsletter_ins.php" onsubmit="return sendData(this)"> 
       <dl> 
        <dt>E-mail</dt> 
        <dd><input name="email" type="text" size="20" maxlength="40" id="form_style01"/></dd> 
        <dt>Name</dt> 
        <dd><input name="name" type="text" size="20" maxlength="40" id="form_style01"/></dd> 
        <p><input type=image src="images/index/bt_Subscribe.gif" width="65" height="47" /></a></p> 
        <span style="margin-left:40px" id="errormsg"><a href="#"></a></span> 
       </dl> 
       </form> 
      </div> 


---- 

<? 
include_once $_SERVER[DOCUMENT_ROOT]."/popup_list.php"; 
include_once $_SERVER[DOCUMENT_ROOT]."/include/_footer.php"; 
?> 

<script src="javascript/jquery.validate.min.js" type="text/javascript"></script> 
<script src="javascript/jquery.blockUI.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('#enewsform').validate({ 
      errorLabelContainer: "#errormsg", 
      rules: { 
       email: {required: true, email:true}, 
       name: {required: true, minlength:2, maxlength:12}, 
      }, 
      messages: { 
       email: {required:" * Required ", email:" * Not Valid Email"}, 
       name: {required:" * Required ", minlength: " * at least 2 characters", maxlength: " * up to 12 chars"} 
      } 
     }); 
    }); 
</script> 

enewsletter_ins.php

<? 
include_once $_SERVER[DOCUMENT_ROOT]."/include/initiate.php"; 



if(trim($name)=="" or trim($email)==""){ 
    alert("send errer!!"); 
} 



$form_title=$email."님의 Subscribe to eNewsletter 신청"; 
$user_name=$name; 
$user_email=$email; 
$body=" 
date : ".date("Y-m-d H:i:s")." 
<hr> 
Name : $name 
<hr> 
E-Mail : $email 
"; 

$sql = " 
     insert into prd_form_data set 
      form_type = '3', 
      form_title = '".$form_title."', 
      user_name = '".$user_name."', 
      user_email = '".$user_email."', 
      user_content = '".$body."', 
      insdt = now() 
"; 
mysql_query($sql) or error(mysql_error()); 

//메일발송 
$comments = $body; 

$mailTo  = ADMIN_MAIL; // 받는 메일 주소; 
$mailFrom = "[email protected]"; // 

$mailSubject = "Subscribe to eNewsletter"; 
$mailContent = $comments; 

$mailHeader = "From: $mailFrom\r\n"; 
$mailHeader .= "MIME-Version: 1.0\r\n"; 
$mailHeader .= "Content-type: text/html; charset=utf-8\r\n"; 

$mailResult = mail ($mailTo, $mailSubject, $mailContent, $mailHeader,'-f'.$mailFrom); 
?> 

<form method="post" action="/" name="frm"> 
</form> 


<script type="text/javascript"> 
<!-- 
    alert("ok!!"); 
    document.frm.submit(); 
//--> 
</script> 

Répondre

0

Vous mettriez champ dans votre formulaire avec type = "h idden "et vérifiez ensuite s'il y a une valeur dans ce champ lorsque vous soumettez.