2017-10-24 5 views
-3

軍隊番号が正しく入力されたときに、データベースからのデータが表示されますが、それは良いことです。しかし、悪いことは明らかに私が持っている問題は、それが空のとき、または軍隊の番号が間違っているときに空白のページを表示することです。そこには、軍事番号が見つからないというelse文をエコーすることが考えられます。ここで何が間違っているのか分からない。私は最初のテキスト入力いくつかのエラーは、ライン8上のボタンISSETは(またはクリック)し、テキスト入力から、あなたの変数を作成した場合、2行目 に次のチェックを名前を持つ必要が見つかっ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"; 
} 
?> 
+1

'。 – Mureinik

+0

このコードはSQLインジェクションにもオープンしています – flauntster

+0

オープスはそれを見ませんでした。それは問題ではありませんが、それを修正しました。まだ動作しません – Bubu

答えて

0

2行目に名前をつけます。whileループでは、結果として$を中止しました。

<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";} 
?> 
0

ifステートメントが正しくありません。 if声明では、可変金額$の値があるかどうかを確認しています。その値が有効な軍事番号であるかどうかにかかわらず、それはどれですか。したがって、TRUEを常に検証し、elseステートメントをトリガーしません。

ifステートメントの詳細については、http://php.net/manual/en/control-structures.if.phpを参照してください。

+0

これはaコメント。答えではありません。 – cmprogram

+0

私は十分な評判がないので、私はコメントを追加できません... – Pascal

+0

それからあなたは答えを残すべきではありません。あなたはすぐに評判を得るでしょう、芽。 – cmprogram

0

このコードにはいくつかの基本的なエラーがありました。事実を含めると、私たちは提出ボタンを使用して、提出をチェックします。値を含んでいません。あなたがしたいことは、私が "unique_code"と呼んだものに$セットされました。

以下のコードは、テストソリューションとしては十分です。

// if`は小文字でなければならない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"; 
} 
?> 
関連する問題