在php中从另一个页面调用函数

在php中从另一个页面调用函数,php,html,Php,Html,我有一个表单,用户可以在page-1.php上更新他们的详细信息 用户提交表单后,它将进入page-2.php进行验证,如果用户输入为真,则更新数据库 我可以知道如何从page-2.php调用函数并在page-1.php上显示错误消息吗。下面是我用来显示错误消息的page-2.php上的函数: $_SESSION['err_msg'] = array(); function addError($msg) { $_SESSION['err_msg'][] = $msg; } fun

我有一个
表单
,用户可以在
page-1.php
上更新他们的详细信息

用户提交
表单
后,它将进入
page-2.php
进行验证,如果用户输入为真,则更新数据库

我可以知道如何从
page-2.php
调用函数并在
page-1.php
上显示错误消息吗。下面是我用来显示错误消息的
page-2.php
上的函数:

$_SESSION['err_msg'] = array();
function addError($msg) {   
    $_SESSION['err_msg'][] = $msg;
}

function printErrors() {
    foreach ($_SESSION['err_msg'] as $err){
        echo "<ul><li><span style='color: red;'>".$err."</span></li></ul>";
    }
    unset($_SESSION['err_msg']);
}   
//other codes for the validation and update
$\u会话['err\u msg']=array();
函数加法器($msg){
$\会话['err\u msg'][]=$msg;
}
函数printErrors(){
foreach($\会话['err\u msg']作为$err){
回声“
  • ”$err.
    • ”; } 取消设置($_会话['err_msg']); } //验证和更新的其他代码

如果我使用
printErrors()
page-2.php
上,它将显示错误消息

您需要将page-2.php包含在page-1.php中


最好的方法是将所有函数放在一个单独的文件中,如functions.php,并在每个页面上使用include包含它们。

我认为不,您不需要在page-2.php上使用函数。您只需检查page-1.php上的会话变量即可。如果$\u会话['err\u msg']存在且计数大于0。然后可以将所有错误打印到page-1.php> 请检查下面的代码

if(isset($_SESSION['err_msg']) && count($_SESSION['err_msg'])>0 ){
foreach ($_SESSION['err_msg'] as $err){
    echo "<ul><li><span style='color: red;'>".$err."</span></li>    </ul>";
}
unset($_SESSION['err_msg']);
}
if(设置($\u会话['err\u msg'])和计数($\u会话['err\u msg'])>0){
foreach($\会话['err\u msg']作为$err){
回声“
  • ”$err.
    • ”; } 取消设置($_会话['err_msg']); }

希望这对您有所帮助。

将page-2.php包含在您的page-1.php中。

谢谢。。它正在工作,但我需要刷新页面以获取错误消息。有没有办法不刷新页面?对于您的代码,当我单击submit时,它不会显示任何消息,但当我刷新页面时,它会显示错误消息。当您使用php标题从文件page-2.php返回时,您会将上述代码添加到page-1.php文件中,然后错误消息将自动显示。与@JKMurray的答案相同。如果我需要在page-1.php中包含page-2.php,我是否需要像
printErrors()一样调用page-1.php中的函数在我包含页面或我需要执行其他操作后?您可以直接调用该函数。