0

こんにちは私は次のような構造を持っています。問題は、エラーメッセージが表示されると、テキストボックスの内容が消え、値を再入力する必要があることです。メッセージが表示されている間、元のテキストボックスの値/コンテンツをそのまま保持する必要があります。どのように私を変えるべきだと思いますか?ありがとう。

    <?php 
if(isset($_POST['subN'])) {
$InNo = $_POST['invc_no'];

$MSG = '';
if($InNo == "") 
{$MSG = 'Invoice number is required';} 
else
{//some code to save data to a database}
?>

<!DOCTYPE html>
<head><title></title></head>
<body>
<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<div id="msgBox"><?php if(!empty($MSG)) echo $MSG; ?></div>
<table>
<tr>
<td><input type="text" id="invc_no" name="invc_no" size="15" class="colr" value="<?php htmlentities('InNo')?>"></td>
<td><input type="submit" name="subN" id="subN" value="Save"></td>
</tr>
</table>
</form>
</body>
</html>
4

3 に答える 3

0

あなたはそこにエコーを置くのを逃しました。

これを変える、

<input type="text" id="invc_no" name="invc_no" size="15" class="colr" value="<?php htmlentities('InNo')?>">

<input type="text" id="invc_no" name="invc_no" size="15" class="colr" value="<?php echo htmlentities('InNo')?>">
于 2012-10-18T09:04:05.727 に答える
0

変化する

<input type="text" id="invc_no" name="invc_no" size="15" class="colr" value="<?php htmlentities('InNo')?>">

<input type="text" id="invc_no" name="invc_no" size="15" class="colr" value="<?php echo htmlentities($_POST['invc_no'])?>">

2 番目の解決策:

以下のように入れます

$InNo = ''; // if you doesn't put any value into text box, then you will get undefined error while you use this variable later on so give initial value to null

if(isset($_POST['subN'])) {
 continue ....
}
else{
 continue ..
}

<input type="text" id="invc_no" name="invc_no" size="15" class="colr" value="<?php echo htmlentities($InNo); ?>">
于 2012-10-18T09:01:50.720 に答える
0

入力ボックスで使用$_POST['inNo']します。

<input type="text" id="invc_no" name="invc_no" size="15" class="colr" value="<?= $_POST['inNo'] ?>">

ちなみに、あなたは値をエコーし​​ていません。

于 2012-10-18T09:02:13.463 に答える