php isset无法正常工作,回显为空

php isset无法正常工作,回显为空,php,Php,在我的代码中,当我点击submit 3 btn时,它会回显空$email,尽管帖子是在db中创建的,但标题总是空的,但是如果我将if(isset($\u post['submit3'))更改为if(isset($\u post['submit1')),它不会将细节输入db或回显任何内容 <script type="text/javascript"> $( document ).ready(function() { $("#form1").show(); $("

在我的代码中,当我点击submit 3 btn时,它会回显空$email,尽管帖子是在db中创建的,但标题总是空的,但是如果我将
if(isset($\u post['submit3'))
更改为
if(isset($\u post['submit1'))
,它不会将细节输入db或回显任何内容

<script type="text/javascript">
$( document ).ready(function() {    
    $("#form1").show();
    $("#form2").hide();
    $("#form3").hide();    


 $('button[name="submit1"]').click(function(e) {
    $("#form2").show();
    $("#form1").hide();  
     $("#form3").hide();   
    e.preventDefault();
});

$('button[name="submit2"]').click(function(e) {
    $("#form3").show();
    $("#form1").hide();
    $("#form2").hide();
    e.preventDefault();
});
});
  </script>
<body>
<form id="form1" method="post" >     

            <div>
                <input type="text" id="inputemail" name="email" placeholder="Email" height="34px" >
            </div>  
            <div >
                <button id="submit1" type="submit" name="submit1" ><strong>Start</strong></button>
            </div>      
 </form> 

<form id="form2" method="post" style="display:none">         

            <div>
                <input type="text" id="inputpwd" name="pwd" placeholder="Password" height="34px" required>
            </div>
            <div >
                    <button id="submit2" type="submit" name="submit2" ><strong>Next</strong></button>
            </div> 

 </form>  

<form id="form3" method="post" style="display:none"> 
        <div required>
                    <input type="checkbox" value="0" name="book_type[]"> Romance</input><br>
                    <input type="checkbox" value="1" name="book_type[]"> Action</input><br>
                    <input type="checkbox" value="2" name="book_type[]"> suspense</input><br>
                    <input type="checkbox" value="3" name="book_type[]"> thriller</input><br>
                </div>
                <div >
                    <button id="submit3" type="submit" name="submit3" onclick="submitform();"><strong>Next</strong></button>
                </div> 
</form>
</body>
<?php
$email=$_POST['email'];
$pwd=$_POST['pwd'];
$bookchk=array(); 
$todaydate = new DateTime();
$todaydate =$todaydate->format('Y-m-d H-i-s');

if(isset($_POST['submit3']))
{
echo $email;
$formarg= array('post_type'=>'details',
                        'post_title'=>$email,
            'post_author'=>'1',
            'post_status'=>'publish',
            'post_date'=>$todaydate );
    $wpdb->insert('wp_posts',$formarg); 
    $bookpostid=$wpdb->insert_id;
    foreach($_POST['book_type'] as $selectedplan)
        {       
        $bookchk[]=$selectedplan;       
        }

    update_field('field_561b9999ebb56',$bookchk[0],$contestpostid); 
    update_field('pwd',$pwd,$bookpostid);
}
?>

$(文档).ready(函数(){
$(“#form1”).show();
$(“#form2”).hide();
$(“#form3”).hide();
$('button[name=“submit1”]”)。单击(函数(e){
$(“#form2”).show();
$(“#form1”).hide();
$(“#form3”).hide();
e、 预防默认值();
});
$('button[name=“submit2”]”)。单击(函数(e){
$(“#form3”).show();
$(“#form1”).hide();
$(“#form2”).hide();
e、 预防默认值();
});
});
开始
下一步
浪漫
行动
悬念
惊悚片
下一步
试试看:

<button id="submit3" type="submit" name="submit3" value="Next" onclick="submitform();"><strong>Next</strong></button>
下一步
  • 通过
    按钮提交时,您返回的是空的
    $email
    id=“submit3”
    因为输入字段具有属性
    name=“email”
    在您的第三个表单中不存在
  • 通过
    按钮提交时,您没有收到任何信息
    id=“submit1”
    因为
    e.preventDefault()方法防止窗体
    单击“提交”按钮时提交
要继续提交第一个和第二个表单,请删除
e.preventDefault()从提交按钮单击处理程序


<?php
session_start();

if(isset($_POST['email'])){$_SESSION["email"] = $_POST['email'];}
if(isset($_POST['pwd'])){$_SESSION["pwd"] = $_POST['pwd'];}
if(isset($_POST['book_type'])){$_SESSION["book_type"] = $_POST['book_type'];}

if(isset($_SESSION["email"]) && isset($_SESSION["pwd"]) && isset($_SESSION["book_type"])){

  echo "email:".$_SESSION["email"]."<br>";
  echo "pwd:" .$_SESSION["pwd"]."<br>";

  echo("options:");

  for($i=0;$i<sizeof($_SESSION["book_type"]);$i++){

    echo $_SESSION["book_type"][$i]."|";
  }

  session_destroy();
  $_SESSION["email"] = "";
  $_SESSION["pwd"] = "";
  $_SESSION["book_type"] = "";
}

$todaydate = new DateTime();
$todaydate =$todaydate->format('Y-m-d H-i-s');

?>
<body>

<?php if(empty($_SESSION["email"])):?>
<form id="form1" method="post">     

            <div>
                <input type="text" id="email" name="email" placeholder="Email" height="34px" >
            </div>  
            <div >
                <input id="submit1" type="submit" name="submit1" value = "Start">
            </div>      
 </form> 
<?php endif;?>

<?php if(isset($_SESSION["email"]) && empty($_SESSION["pwd"]) ):?>
<form id="form2" method="post">         

            <div>
                <input type="text" id="pwd" name="pwd" placeholder="Password" height="34px" required>
            </div>
            <div >
                    <input id="submit2" type="submit" name="submit2" value = "Next">
            </div> 

 </form>  
<?php endif;?>
<?php if(isset($_SESSION["email"]) && isset($_SESSION["pwd"]) && empty($_SESSION["book_type"])):?>
<form id="form3" method="post"> 
        <div required>
                    <input type="checkbox" value="0" name="book_type[]"> Romance</input><br>
                    <input type="checkbox" value="1" name="book_type[]"> Action</input><br>
                    <input type="checkbox" value="2" name="book_type[]"> suspense</input><br>
                    <input type="checkbox" value="3" name="book_type[]"> thriller</input><br>
                </div>
                <div >
                    <button id="submit3" type="submit" name="submit3" onclick="submitform();"><strong>Next</strong></button>
                </div> 
</form>
<?php endif;?>
</body>
浪漫
行动
悬念
惊悚片
下一步
您使用的是3个单独的表单。只提交了一个。我会输出
$\u POST
像:
var\u dump($\u POST)
要查看您从中获取和测试的值,您似乎没有为按钮[name=“submit”]提供适当的单击功能,或者至少我没有看到您的javascript代码与var dump I get array(size=2)“book\u type”=>array(size=1)0=>string“0”(length=1)“submit3”=>string“Next”(length=4)