我正在为HTML模板使用一组令牌。其中两个('{SYS_MENU}'和'{SUB_MENU}')用于为Web应用程序生成控制按钮。现在,在用户的凭证被验证之前,按钮显示在登录页面上,我需要更改代码,以便按钮隐藏,直到用户登录并进入主菜单。当某人在他们的浏览器中键入http:地址并到达登录页面时,系统将在USER_ID = 0的MySQL会话表中为他们启动会话。登录后,USER_ID更改为在初始注册时分配给他们的任何号码例如:USER_ID = 54),并在会话结束时退出到0之后。将此常量绑定到按钮似乎是最佳解决方案,并且在类似情况下我发现它可以在过去使用。根据与用户ID相关的常量返回不同的PHP数组值
原来这里是数组:
$template_vars = array(
'{LANG_DIR}' => $lang_text_dir,
'{TITLE}' => theme_page_title($section),
'{CHARSET}' => $charset,
'{META}' => $meta,
'{GAL_NAME}' => $CONFIG['gallery_name'],
'{GAL_DESCRIPTION}' => $CONFIG['gallery_description'],
'{SYS_MENU}' => theme_main_menu('sys_menu'),
'{SUB_MENU}' => theme_main_menu('sub_menu'),
'{ADMIN_MENU}' => theme_admin_mode_menu(),
'{CUSTOM_HEADER}' => $custom_header,
'{JAVASCRIPT}' => theme_javascript_head(),
'{MESSAGE_BLOCK}' => theme_display_message_block(),
);
我做的第一件事就是直接引用在HTML模板工作。我在w3schools上看到一个例子,它使您看起来像只需在HTML中输入PHP脚本并解决问题。除了随机地将一堆文本回显到页面之外,这没有任何作用。然后,我发现另一个引用,说你必须先使用.HTACCESS条目激活PHP,然后才能直接在HTML中工作。但是这也没有达成交易。我知道将数组中的'{SYS_MENU}'和'{SUB_MENU}'值更改为=>“”会产生我想要的结果(I.E.使菜单按钮消失)。所以,我的下一个想法是,我会创建一个返回根据情况阵列的两个版本的IF语句,是这样的:
if(USER_ID != 0)
{
return $template_vars = //FIRST VERSION OF ARRAY WITH FULL VALUES//
}
else
{
return $template_vars = //SECOND VERSION OF ARRAY WITH ONLY => ""//
}
但是,一切都做的是使应用程序负载在一个白色的屏幕,没有终止错误反馈。
我最近尝试来自东西,我在这里读堆栈溢出。我知道你不能把IF语句放入数组中。但文章在这个环节中描述的解决方法:
If statement within an array declaration ...is that possible?
所以我改写了数组如下:
template_vars = array(
'{LANG_DIR}' => $lang_text_dir,
'{TITLE}' => theme_page_title($section),
'{CHARSET}' => $charset,
'{META}' => $meta,
'{GAL_NAME}' => $CONFIG['gallery_name'],
'{GAL_DESCRIPTION}' => $CONFIG['gallery_description'],
'{SYS_MENU}' => ('USER_ID != 0' ? theme_main_menu('sys_menu') : ""),
'{SUB_MENU}' => ('USER_ID != 0' ? theme_main_menu('sub_menu') : ""),
'{ADMIN_MENU}' => theme_admin_mode_menu(),
'{CUSTOM_HEADER}' => $custom_header,
'{JAVASCRIPT}' => theme_javascript_head(),
'{MESSAGE_BLOCK}' => theme_display_message_block(),
);
,但似乎没有任何效果可言。应用程序不会崩溃,但无论您是登录还是注销,按钮都是静态的。
我的问题是:我错过了什么?我可以看到这是可能的。但是我一直在尝试一天半的事情,似乎在围绕解决方案跳舞。你的想法将不胜感激。
不回...只是分配 – Orangepill