-1

嗨,我有这个功能来处理上传错误。

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>

然而,这种方法似乎并没有给我我需要的解决方案,即在同一页面上打印验证消息。

任何人都可以帮忙吗?

谢谢。

4

3 回答 3

0

在您的代码之后添加,就{在您的if...代码之前echo}之后添加echo...

于 2013-08-26T14:22:16.830 回答
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>
于 2013-08-26T14:23:12.727 回答
0

根据您的描述,实际上很难说出您要达到的目标。但是试试这个:

<?php

function error($error) {
    return 'Error :' . $error . ' Please correct before proceeding.';
}

?>

接着:

<td><?php echo error('YOUR ERROR CODE') ?></td>
于 2013-08-26T14:26:58.790 回答