Form is not getting submitted

时间:2016-08-14 作者:art

我在退出弹出式插件中使用此代码,以便在用户离开网站时显示表单。但是我的表单没有提交(数据没有插入),我添加了myformsubmit 函数中的函数。php文件和包含的寄存器。php文件调用此函数。请建议

login.php

<script>
function myformsubmit(){
        document.theForm.action="register.php";
        document.theForm.submit();
        }
</script>
<div class="container">

  <form role="form" method="post" name="theForm">
    <div class="form-group">
      <label for="username">Name:</label>
      <input type="text" name="username" class="form-control" id="username" placeholder="Enter name">
    </div>
    <div class="form-group">
      <label for="email">Email:</label>
      <input type="email" name="email" class="form-control" id="email" placeholder="Enter email">
    </div>
    <div class="form-group">
      <label for="pwd">Phone:</label>
      <input type="number" name="phone" class="form-control" id="phone" placeholder="Enter phonenumber">
    </div>
  <div class="form-group">
      <label for="comment">Reason to leave</label>
      <textarea class="form-control" name="reason" rows="5" id="comment"></textarea>
    </div>
    <button type="submit"  name="submit" class="btn btn-default" onclick="myformsubmit()">Submit</button>
  </form>
</div>

registration.php

<?php
if(isset($_REQUEST[\'submit\']))
{   try{
    $handler=new PDO(\'mysql:host=127.0.0.1;dbname=popup\',\'root\',\'\');
    $handler->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);    //set attributes on pdo
}
catch(PDOException $e){
    echo $e->getMessage();
 die(\'sorry database problem\');
}

    $name=$_POST[\'username\'];
    $email=$_POST[\'email\'];
    $phone=$_POST[\'phone\'];
    $reason=$_POST[\'reason\'];
$sql="INSERT into popup(username,email,phone,reason,posted) VALUES (?,?,?,?,NOW())";
$query=$handler->prepare($sql);
$query->execute(array($name,$email,$phone,$reason));
echo "THANKYOU";
}

else
    {echo "sorry";}

?>

1 个回复
最合适的回答,由SO网友:Rituparna sonowal 整理而成

首先,作为一名WordPress开发人员,你所做的一切都是错误的。

养成使用wp\\u nonce和其他安全步骤的习惯在进行这些更改后,请在函数中执行类似操作。p hp或注册。php文件

add_action( \'init\', \'insertFn\');
function insertFn(){
    if(isset($_REQUEST[\'submit\'])){
        //Your form processing code.
     }
}
请记住,有时查看官方文档非常有用。