Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果isset语句未显示输入字段_Php_Forms_If Statement - Fatal编程技术网

Php 如果isset语句未显示输入字段

Php 如果isset语句未显示输入字段,php,forms,if-statement,Php,Forms,If Statement,我有以下代码,我试图让“定稿定单”提交按钮仅在按下/设置“创建定稿定单”按钮时出现。现在,在我点击“创建草稿订单”按钮后,该按钮没有显示。仅当我将其从if(isset)函数中取出时,它才会显示 我做错了什么 <form method="POST" name="form"> <input type="submit" value="Create Draft Order" name="shuffle"> </form> Shuffled results:

我有以下代码,我试图让“定稿定单”提交按钮仅在按下/设置“创建定稿定单”按钮时出现。现在,在我点击“创建草稿订单”按钮后,该按钮没有显示。仅当我将其从if(isset)函数中取出时,它才会显示

我做错了什么

<form method="POST" name="form">
<input type="submit" value="Create Draft Order" name="shuffle">
</form>

    Shuffled results: <br>
    <div class="main-bag">     
    <div class="shuffle_results" id="results"></div>
     <form method="post">
<?php
$count = 0;
    foreach ($array as $result) :
    $count++;
    $shuffle_count = $count;
        $shuffle_firstname = htmlentities($result['firstname']);
        $shuffle_lastname = htmlentities($result['lastname']);
        $shuffle_id = htmlentities($result['id']);
        $shuffle_username = htmlentities($result['username']);
        $shuffle_email = htmlentities($result['email']);
?>
    <input type="hidden" name="count[]" value="<?php echo $shuffle_count; ?>">
        <input type="hidden" name="firstname[]" value="<?php echo $shuffle_firstname; ?>">
        <input type="hidden" name="lastname[]" value="<?php echo $shuffle_lastname; ?>">
        <input type="hidden" name="id[]" value="<?php echo $shuffle_id; ?>">
        <input type="hidden" name="username[]" value="<?php echo $shuffle_username; ?>">
        <input type="hidden" name="email[]" value="<?php echo $shuffle_email; ?>">

<?php 

    endforeach;
    // only show this button if we have done a shuffle
     if ( isset($_POST['shuffle'] ) ) :
        echo '<input type="submit" value="Finalize Draft Order" name="insert">';
    endif;

?>

我不认为设置了$\u POST['shuffle']。与其使用提交按钮,不如将代码更改为:

<form method="POST" name="form">
<input type="hidden" name="shuffle" value="true">
<input type="submit" value="Create Draft Order">
</form>


我很确定提交的名称不算作发布值。

这是您的问题。您的输入按钮名为shuffle,提交时不会传递。如果您添加一个名为“shuffle”的新隐藏输入元素,则会传递它

编辑:

您在问题中说,它是在按下“创建草稿”按钮之后出现的。因此,根据您的示例:

<form method="POST" name="form">
<input type="submit" value="Create Draft Order" name="form">
<input type="hidden" name="shuffle" value="1">
</form>

    Shuffled results: <br>
    <div class="main-bag">     
    <div class="shuffle_results" id="results"></div>
     <form method="post">
<?php
$count = 0;
    foreach ($array as $result) :
    $count++;
    $shuffle_count = $count;
        $shuffle_firstname = htmlentities($result['firstname']);
        $shuffle_lastname = htmlentities($result['lastname']);
        $shuffle_id = htmlentities($result['id']);
        $shuffle_username = htmlentities($result['username']);
        $shuffle_email = htmlentities($result['email']);
?>
    <input type="hidden" name="count[]" value="<?php echo $shuffle_count; ?>">
<input type="hidden" name="firstname[]" value="<?php echo $shuffle_firstname; ?>">
        <input type="hidden" name="lastname[]" value="<?php echo $shuffle_lastname; ?>">
        <input type="hidden" name="id[]" value="<?php echo $shuffle_id; ?>">
        <input type="hidden" name="username[]" value="<?php echo $shuffle_username; ?>">
        <input type="hidden" name="email[]" value="<?php echo $shuffle_email; ?>">

<?php 

    endforeach;
    // only show this button if we have done a shuffle
     if ( isset($_POST['shuffle'] ) ) :
        echo '<input type="submit" value="Finalize Draft Order" name="insert">';
endif;
?>

洗牌结果:

我不知道PHP meame69和SCOTTYMCGRADY使用的是什么版本,但是您可以通过检查isset($_POST[“submit”])是否正确来检查按钮是否被单击


我还不能发表评论,但一旦我弄清楚Becky的代码有什么问题,我会对其进行编辑。

您实际上并没有将shuffle作为变量发布。请将其添加到您的输入隐藏项中,而不是按钮的名称。这是一个范围问题,第二个表单缺少关闭标记。
。将错误报告添加到文件顶部例如,在你打开PHP标签之后,
很有趣,你不是这么说的,或者这与我无关吗?我看到它们就给它们打电话。我试过这么做,只是把名字改成了shuffleButton,然后又改成了
$\u POST['shuffleButton']
我也没有让它出现。你没有听我说什么。看看我的代码。有一个输入字段的名称与你的isset检查相匹配。看这行:我明白。我做了,除了我做了这个..
然后这个..
$\u POST['shuffleButton']
…我的代码中有一些与名称无关的东西,因此我不想干扰所有这些。尝试通过执行
变量转储($\u POST)来转储
$\u POST
然后查看交易是什么按钮被按下,因为按钮所做的其他一切都起作用。只是这个if语句不起作用。我正在在线php编译器上运行您的代码,当按钮被按下时,它会显示出来。尝试打印($\u POST)在你的代码中,让我知道这给了你什么。然后问题是你根本没有得到任何发布到该页面。我是这样的。因为我在这里放的脚本是根据它的实际工作情况来工作的。另外,我还有一千行其他代码,其中包含多个帖子。将你的第二个表单封装在if(isset($\u POST['submit'))。您是否仍在运行隐藏的内容?答案将是否定的,因为您的表单未发布到自身。
<form method="POST" name="form">
<input type="submit" value="Create Draft Order" name="form">
<input type="hidden" name="shuffle" value="1">
</form>

    Shuffled results: <br>
    <div class="main-bag">     
    <div class="shuffle_results" id="results"></div>
     <form method="post">
<?php
$count = 0;
    foreach ($array as $result) :
    $count++;
    $shuffle_count = $count;
        $shuffle_firstname = htmlentities($result['firstname']);
        $shuffle_lastname = htmlentities($result['lastname']);
        $shuffle_id = htmlentities($result['id']);
        $shuffle_username = htmlentities($result['username']);
        $shuffle_email = htmlentities($result['email']);
?>
    <input type="hidden" name="count[]" value="<?php echo $shuffle_count; ?>">
<input type="hidden" name="firstname[]" value="<?php echo $shuffle_firstname; ?>">
        <input type="hidden" name="lastname[]" value="<?php echo $shuffle_lastname; ?>">
        <input type="hidden" name="id[]" value="<?php echo $shuffle_id; ?>">
        <input type="hidden" name="username[]" value="<?php echo $shuffle_username; ?>">
        <input type="hidden" name="email[]" value="<?php echo $shuffle_email; ?>">

<?php 

    endforeach;
    // only show this button if we have done a shuffle
     if ( isset($_POST['shuffle'] ) ) :
        echo '<input type="submit" value="Finalize Draft Order" name="insert">';
endif;
?>