0

我尝试将以下 htmlentities 用于文本框,但在文本框中出现以下未定义变量错误。我尝试将我的 php 更改为<?= htmlentities [$_POST['invo_val'] ?>但仍然收到相同的消息。知道我哪里出错了吗?

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

错误说:<br /><b>Notice</b>: Undefined index: invc_no in <b>E:\xampp\htdocs\ss\docs\addInvo.php</b> on line <b>394</b><br />

4

4 回答 4

2

尽量不要从未设置的帖子中获取数据

$invc_no = isset($_POST['invc_no']) ? $_POST['invc_no'] : '';

<td><input type="text" id="invc_no" name="invc_no" size="15" class="colr" value="<?php htmlentities($invc_no) ?>"></td>
于 2012-10-18T04:23:50.070 回答
0

当您尝试访问未定义的变量时,PHP 会发出此通知。

在使用变量之前,您应该先检查变量是否存在(使用isset)。

例如:

<?php $value = isset($_POST['invc_no']) ? htmlentities($_POST['invc_no']) : ''; ?>

<td><input type="text" id="invc_no" name="invc_no" size="15" class="colr" value="<?php echo $value; ?>"></td>
于 2012-10-18T04:26:47.057 回答
0

您必须首先检查是否设置了 post 变量。使用以下代码:

if(isset($_POST['invc_no'])
{
$inv_no=$_POST['invc_no'];
}
else
{
$inv_no='';
}

现在$inv_no在你的代码中使用它

于 2012-10-18T04:26:52.207 回答
0

另一种选择是使用错误控制运算符抑制通知: @

<?= @$_POST['invc_no']; ?>
于 2012-10-18T04:35:48.023 回答