我有一个简单的PHP代码,查询数据库并返回一个列表,其中包括一个新的提交按钮,这将批准或不批准post
。
if(isset($_POST['search'])){
while($row = mysqli_fetch_array($select)) {
if($row['flag']==0) {
echo "<br>";
echo "<div class='"dlcontainer2'">";
echo "<div class='"dlitem'">";
echo "TourID: ";
echo "<div class='"dltourID'">{$row['tourID']}</div>";
echo "Title: ";
echo "<div class='"dltitle'">{$row['title']}</div>";
echo "City: ";
echo "<div class='"dlcity'">{$row['city']}</div>";
echo "Description: ";
echo "<div class='"dldescription'">{$row['description']}</div>";
//echo "<div class='"dlapprove'">;
echo "<input class=approve type='submit' name='submit' id=approve value='Approve'>";
echo "</div>";
echo "</div>";
echo "<br>";
}
}
}
就在它的下面,我制作了另一个isset()
来查看用户是否点击了Approve按钮。但是它什么也没做:
if(isset($_POST['submit']) && !empty($_POST)) {
echo "<script type='text/javascript'>alert('$message');</script>";
} else{
echo "No true";
}
我认为你的问题不是isset()而是!空($_POST)我不相信$_POST在它自己的返回任何东西。
可以尝试使用!empty($_POST['submit']),这看起来就像你的代码要做的。
首先,你可以用这个神奇的Heredoc
代替许多echo
echo <<<"MyText"
<br>
<div class='"dlcontainer2'">
<div class='"dlitem'">
TourID:
<div class='"dltourID'">{$row['tourID']}</div>
Title:
<div class='"dltitle'">{$row['title']}</div>
City:
<div class='"dlcity'">{$row['city']}</div>
Description:
<div class='"dldescription'">{$row['description']}</div>
<div class='"dlapprove'">
<input class=approve type='submit' name='submit' id=approve value='Approve'>
</div>
</div>
<br>
MyText;
第二,您在第二个IF-Statement
中使用了额外的不必要的条件。
应该是这样的:
if(isset($_POST['submit'])) { // or you can use $_POST['submit'] or !empty($_POST['submit']) or even $_POST
echo "<script type='text/javascript'>alert('$message');</script>";
} else{
echo "No true";
}