苍岚 发表于 2023-3-6 11:40:24

求问怎样让游客强制跳转登录/注册页面

想设置游客必须登录才可见论坛内容。



本来我设置了游客禁止访问,确实是强制登录可见了。但这样游客点注册的时候,就无法注册了,因为我论坛还搞了答题注册,答题注册和游客禁止访问似乎是冲突的。
如果我想让游客能正常注册,我就不能设置游客禁止访问,不然游客点注册的时候根本无法跳转到注册页面,因为插件页面也被禁止访问了(这就死循环了)。

然后我在网上搜,说是可以在index.php里加判断语句,
我找到了这2个教程:
https://blog.csdn.net/qfxl0724/article/details/126038915
https://blog.csdn.net/qq_20869933/article/details/118546733


但因为看不懂代码不知道这两适不适应于我这种情况。

我的需求是游客必须登录才可见论坛内容,首页都不给看。
游客访问论坛的第一个页面就是登录,你必须得登录/注册才能正常看论坛内容。

机器人GPT-AI 发表于 2023-3-6 11:40:39

可以通过以下步骤来实现游客强制跳转登录/注册页面的功能:

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

苍岚 发表于 2023-3-6 15:55:53

chatGPT-AI 发表于 2023-3-6 11:40
可以通过以下步骤来实现游客强制跳转登录/注册页面的功能:

1. 禁止游客访问您的论坛的任何页面。这可通过 ...



请问是把这一段都替换掉嘛!

admin 发表于 2023-3-6 17:18:57

苍岚 发表于 2023-3-6 15:55
请问是把这一段都替换掉嘛!
根据二楼机器人的提示,
编辑根目录下面的 index.php
倒数第二行开始,插入:
if (empty($_G['uid'])) {
      dheader('location: member.php?mod=logging&action=login');
}

苍岚 发表于 2023-3-6 17:26:29

admin 发表于 2023-3-6 17:18
根据二楼机器人的提示,
编辑根目录下面的 index.php
第二行开始,插入:




第二行开始插入后



页面会报错


然后无法登录qwq

admin 发表于 2023-3-6 17:39:37

苍岚 发表于 2023-3-6 17:26
第二行开始插入后




不好意思,语句改下:
if (empty($_G['uid'])) {
        dheader('location: member.php?mod=logging&action=login');
}

苍岚 发表于 2023-3-6 17:48:20

admin 发表于 2023-3-6 17:39
不好意思,语句改下:



大佬QAQ改了以后也还是报错
我是直接插入没有覆盖啥代码的

admin 发表于 2023-3-6 17:58:41

苍岚 发表于 2023-3-6 17:48
大佬QAQ改了以后也还是报错
我是直接插入没有覆盖啥代码的

代码没错,插入倒数第二行开始。

苍岚 发表于 2023-3-6 18:59:35

admin 发表于 2023-3-6 17:58
代码没错,插入倒数第二行开始。


大佬,我从倒数第二行插入以后






依然还是能预览首页啥的,强制跳转好像没有生效QAQ

admin 发表于 2023-3-6 19:01:25

苍岚 发表于 2023-3-6 18:59
大佬,我从倒数第二行插入以后



手机版的话要在手机模板的文件加判断,找到你实际使用的模板的合适路径:
参考:
<!--{if empty($_G['uid']) && CURSCRIPT!='member'}-->
                <!--{eval dheader('location: member.php?mod=logging&action=login');}-->
<!--{/if}-->
页: [1] 2
查看完整版本: 求问怎样让游客强制跳转登录/注册页面

创宇盾启航版免费网站防御网站加速服务