其他声明不起作用

时间:2017-10-24 06:14:33

标签: php

当正确输入军用号码时,下面的代码显示来自数据库的数据,这是一件好事。但不好的事情,显然我遇到的问题是它显示空白页面,当它是空的或军事号码不正确时。假设回复那里没有找到军事号码的else语句。我无法知道这里有什么问题。

//The html code
<form method="post" action="dutydata.php">
<input type="text" placeholder="provide unique code">
<input type="submit" name="verify">
</form>
//the php code
<?php
$conn = mysqli_connect("localhost", "root", "", "army_duty");
$set = $_POST['verify'];
if($set) {
    $show = "SELECT * FROM profile where military_number = '$set' ";
    $result = mysqli_query($conn, $show);
    while ($row = mysqli_fetch_array(result)) {
        echo $row['military_number'];
        echo $row['first_name'];
        echo $row['last_name'];
        echo $row['paygrade'];
        echo $row['duty_status'];
        echo $row['photo'];
        echo "<br/>";
     }
}  
else {
    echo "Military Number not found";
}
?>

3 个答案:

答案 0 :(得分:0)

我发现了一些错误,首先文本输入必须在第2行有一个名字。 接下来检查第8行是否设置(或点击)按钮,然后在第2行的第2行输入的文本输入中创建变量。在你的while循环中,你留下$ for result。

<form method="post" action="dutydata.php">
<input name="something" type="text" placeholder="provide unique code">
<input type="submit" name="verify">
</form>
//the php code
<?php
$conn = mysqli_connect("localhost", "root", "", "army_duty");
if(isset($_POST['verify'])) {
$set = $_POST['something'];
$show = "SELECT * FROM profile WHERE military_number = '$set' ";
$result = mysqli_query($conn, $show);
while ($row = mysqli_fetch_array($result)) {
    echo $row['military_number'];
    echo $row['first_name'];
    echo $row['last_name'];
    echo $row['paygrade'];
    echo $row['duty_status'];
    echo $row['photo'];
    echo "<br/>";
 }
 } else {echo "Military Number not found";}
?>

答案 1 :(得分:0)

if声明不正确。使用if语句,您正在检查是否有任何值在可变$ set中。它是什么,无论该值是否是有效的军事数字。因此它始终验证TRUE并且不会触发else语句。

有关if语句的详细信息,请阅读http://php.net/manual/en/control-structures.if.php

答案 2 :(得分:0)

此代码中存在一些基本错误。包括我们使用提交按钮检查isset upin提交的事实。它不包含值。你打算做什么,将$ set设置为我所谓的“unique_code”。

以下代码应足以用于测试解决方案。

// html代码

 //Remember if your form is on the same page as your PHP, you can set action to ""
 <form method="post" action="dutydata.php">
 <input type="text" placeholder="provide unique code" name="unique_code">
 <input type="submit" name="verify">
 </form>

// php代码

<?php
$conn = mysqli_connect("localhost", "root", "", "army_duty");
$set = $_POST['unique_code'];
if(isset($set)) {
$show = "SELECT * FROM profile WHERE military_number = '{$set}' ";
$result = mysqli_query($conn, $show);
while ($row = mysqli_fetch_assoc($result)) {
    echo $row['military_number'];
    echo $row['first_name'];
    echo $row['last_name'];
    echo $row['paygrade'];
    echo $row['duty_status'];
    echo $row['photo'];
    echo "<br/>";
 }
 }  
else {
echo "Military Number not found";
}
?>