您好,我有处理上传错误的功能。
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>
然而,这种方法似乎没有给我提供我需要的解决方案,即在同一页面上打印验证消息。
有人可以帮忙吗?
感谢。
答案 0 :(得分:0)
在{
代码之后if...
之前添加echo
,在}
代码之后添加echo...
。
答案 1 :(得分:0)
您可以使用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>
答案 2 :(得分:0)
根据您的描述,实际上很难说出您要实现的目标。但试试这个:
<?php
function error($error) {
return 'Error :' . $error . ' Please correct before proceeding.';
}
?>
然后:
<td><?php echo error('YOUR ERROR CODE') ?></td>