Php 如果isset语句未显示输入字段
我有以下代码,我试图让“定稿定单”提交按钮仅在按下/设置“创建定稿定单”按钮时出现。现在,在我点击“创建草稿订单”按钮后,该按钮没有显示。仅当我将其从if(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:
<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;
?>