文本框值在PHP验证时消失/清空

时间:2012-10-18 08:59:31

标签: php

嗨,我的结构如下。问题是,一旦显示错误消息,文本框内容就会消失,需要再次重新键入值。我需要在显示消息时保留原始文本框值/内容。你觉得我应该如何改变?感谢。

    <?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>

3 个答案:

答案 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')?>">