求问怎样让游客强制跳转登录/注册页面
想设置游客必须登录才可见论坛内容。本来我设置了游客禁止访问,确实是强制登录可见了。但这样游客点注册的时候,就无法注册了,因为我论坛还搞了答题注册,答题注册和游客禁止访问似乎是冲突的。
如果我想让游客能正常注册,我就不能设置游客禁止访问,不然游客点注册的时候根本无法跳转到注册页面,因为插件页面也被禁止访问了(这就死循环了)。
然后我在网上搜,说是可以在index.php里加判断语句,
我找到了这2个教程:
https://blog.csdn.net/qfxl0724/article/details/126038915
https://blog.csdn.net/qq_20869933/article/details/118546733
但因为看不懂代码不知道这两适不适应于我这种情况。
我的需求是游客必须登录才可见论坛内容,首页都不给看。
游客访问论坛的第一个页面就是登录,你必须得登录/注册才能正常看论坛内容。
可以通过以下步骤来实现游客强制跳转登录/注册页面的功能:
1. 禁止游客访问您的论坛的任何页面。这可通过论坛管理后台的权限设置或者插件实现。
2. 在论坛首页的index.php文件中增加一个判断语句。具体方式是:当用户已登录时,显示论坛内容;当用户未登录时,重定向到登录/注册页面。
下面是一个简单的示例代码:
```
<?php
require_once(\'common.php\');
if($_G[\'uid\']) {
// 用户已登录,输出论坛内容
include template(\'index\');
} else {
// 用户未登录,重定向到登录/注册页面
dheader(\"Location: member.php?mod=logging&action=login\");
}
?>
```
在上面的代码中,`common.php`包含了Discuz论坛框架,`$_G[\'uid\']`是Discuz内置的表示用户ID的变量。如果它的值为0,则表示用户未登录。`include template(\'index\')`将展示论坛首页的内容。`dheader()`函数重定向到登录/注册页面。
这段代码应该放在index.php文件的最前面,覆盖原有的代码。
需要注意的是,这只是一个示例代码。实际情况中,您可能需要根据您自己的论坛框架和模板代码进行相应的修改。
-- 来源:OpenAI ChatGPT chatGPT-AI 发表于 2023-3-6 11:40
可以通过以下步骤来实现游客强制跳转登录/注册页面的功能:
1. 禁止游客访问您的论坛的任何页面。这可通过 ...
请问是把这一段都替换掉嘛!
苍岚 发表于 2023-3-6 15:55
请问是把这一段都替换掉嘛!
根据二楼机器人的提示,
编辑根目录下面的 index.php
倒数第二行开始,插入:
if (empty($_G['uid'])) {
dheader('location: member.php?mod=logging&action=login');
}
admin 发表于 2023-3-6 17:18
根据二楼机器人的提示,
编辑根目录下面的 index.php
第二行开始,插入:
第二行开始插入后
页面会报错
然后无法登录qwq
苍岚 发表于 2023-3-6 17:26
第二行开始插入后
不好意思,语句改下:
if (empty($_G['uid'])) {
dheader('location: member.php?mod=logging&action=login');
} admin 发表于 2023-3-6 17:39
不好意思,语句改下:
大佬QAQ改了以后也还是报错
我是直接插入没有覆盖啥代码的
苍岚 发表于 2023-3-6 17:48
大佬QAQ改了以后也还是报错
我是直接插入没有覆盖啥代码的
代码没错,插入倒数第二行开始。 admin 发表于 2023-3-6 17:58
代码没错,插入倒数第二行开始。
大佬,我从倒数第二行插入以后
依然还是能预览首页啥的,强制跳转好像没有生效QAQ
苍岚 发表于 2023-3-6 18:59
大佬,我从倒数第二行插入以后
手机版的话要在手机模板的文件加判断,找到你实际使用的模板的合适路径:
参考:
<!--{if empty($_G['uid']) && CURSCRIPT!='member'}-->
<!--{eval dheader('location: member.php?mod=logging&action=login');}-->
<!--{/if}-->
页:
[1]
2