嗨,我的结构如下。问题是,一旦显示错误消息,文本框内容就会消失,需要再次重新键入值。我需要在显示消息时保留原始文本框值/内容。你觉得我应该如何改变?感谢。
<?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>
答案 0 :(得分: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); ?>">
答案 1 :(得分:0)
在输入框中使用$_POST['inNo']
:
<input type="text" id="invc_no" name="invc_no" size="15" class="colr" value="<?= $_POST['inNo'] ?>">
顺便说一句,你并没有回应这个价值。
答案 2 :(得分: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')?>">