在我的contact.php页面中,我在通过验证后向管理员和用户发送电子邮件。代码如下所示:
else
但if
部分相关的flash消息中的代码不起作用。如果我将此代码放在// Set flash message
function set_flash_msg($name, $msg, $class)
{
global $name;
if(empty($_SESSION[$name]) && empty($_SESSION[$name . '_class']))
{
$_SESSION[$name] = $msg;
$_SESSION[$name . '_class'] = $class;
}
}
部分中,那么它可以正常工作。函数set_flash_msg()负责创建基于会话的flash消息。其代码如下:
// Show flash message
get_flash_msg();
要显示此消息,请在上面的代码下面调用另一个函数:
if
会话设置没有问题,因为在{{1}}部分,它运行正常。我的后端也使用相同的逻辑和编码流程,我在添加新页面时设置了flash消息,并在页面列表page.php上显示flash消息。如果它在那里工作那么为什么它不能在我的前端contact.php页面上工作?有什么想法吗?
答案 0 :(得分:0)
在我的contact.php页面中,我特别抓住了表单值" name"为:
// Preparing form variables
$name = isset($_POST['txtname']) ? $db_obj->sanitize_input($_POST['txtname']) : '';
局部变量$ name与set_flash_msg()函数中的全局变量$ name冲突。在上面的代码中将$ name更改为$ uname解决了这个问题。