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($_POST['invc_no'])?>">

第二种解决方案:

如下所示

$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 回答
0

你错过了把 echo 放在那里。

改变这个,

<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 回答