嗨,我有这个处理上传错误的功能。
function error($error, $location, $seconds = 5)
{
header("Refresh: $seconds; URL='"$location'"");
echo 'Error :' . $error . ' Please correct before proceeding.';
exit;
}
由于这是echo
的消息,您知道该消息不在同一页面中显示,您需要点击浏览器返回到原始内容页面。
我想要的是验证消息显示在同一页面上,所以我尝试将代码更改为如下。
function error($error)
{
$ErrMsg = 'Error :' . $error . ' Please correct before proceeding.';
}
稍后在表格中的一张桌子上,我有一些类似下面的东西叫按摩。
<td><?php if(!empty($ErrMsg)) echo $ErrMsg; ?></td>
然而,这种方法似乎没有给我所需的解决方案,即在同一页上打印验证消息。
有人能帮忙吗?
谢谢。
您可以使用ajax调用错误函数并在页面上输出消息。
或者,您可以设置$_POST、$_GET或$_SESSION变量,将错误消息传递到下一页。
会话示例:
function error($error)
{
$_SESSION['ErrMsg'] = 'Error :' . $error . ' Please correct before proceeding.';
}
后来。。。
<td>
<?php if (!empty($_SESSION['ErrMsg'])) {
echo $_SESSION['ErrMsg'];
}?>
</td>
如果表单发布到它所在的同一页面,您可以尝试以下操作:
function uploadValidation()
{
$errorReason = '';
// do validation here
// if something goes wrong $errorReason = 'reason for error'
if (!empty($errorReason)) {
return 'Error :' . $errorReason . ' Please correct before proceeding.';
} else {
// success stuff
// maybe return thanks message or redirect somewhere else?
return 'You upload real good!';
}
}
$validationMessage = uploadValidation();
?>
And later in the form in a table I have something like following to call the massage.
<td><?= $validationMessage ?></td>
在if...
代码之后和echo
之前添加{
,并在echo...
代码之后添加关闭的}
。
实际上很难根据你的描述来判断你想要实现什么。但试试这个:
<?php
function error($error) {
return 'Error :' . $error . ' Please correct before proceeding.';
}
?>
然后:
<td><?php echo error('YOUR ERROR CODE') ?></td>