2

大家好,我正在尝试将简单的机器论坛集成到我的定制会员网站中。

我正在使用http://download.simplemachines.org/?tools上提供的 SMF API 。

问题是它在我的本地主机测试服务器上工作 - 但是在我托管系统的在线服务器上 - 它不起作用。

我已经设置了,当用户登录我自己的自定义 CMS 会员网站时,他/她会自动登录到他/她在论坛上的相应帐户。但是它可以在我的本地主机上运行,​​但在网上它根本不工作。我登录我的网站,然后浏览到论坛,发现我还没有在那里登录:( - 我认为它没有创建 cookie 或注册会话。 .我应该在哪里看。请帮忙。

编辑 =================

我想我已经找到了问题——出于某种原因,论坛维护的会话与我网站上开始的会话不同。这很奇怪,因为论坛仅位于同一站点的子文件夹中。我应该在这里检查什么?

4

2 回答 2

1

如果您正在使用 SMF 并希望创建 SMF 登录,但在 SMF 论坛之外(我是这样理解的),那么您将希望使用SSI.php与 SMF 捆绑的文件。您应该在页面顶部做一个requireor ,这是第一件事。require_once

另外,打开SSI.php,我相信有一个ssi_login()ssi_logout()功能,使用这些功能为人们显示一个登录区域。这应该包括整个文本框并显示它。

或者,您可以通过SMF 社区支持寻求支持和/或查看这些SSI 示例/教程

此外,如果这是一个会话问题,试试这个......

<?php
require_once('/home/filepath/public_html/forum_directory/SSI.php');
$_SESSION['login_url'] = 'http://www.domain.com' . $_SERVER['PHP_SELF'];
$_SESSION['logout_url'] = 'http://www.domain.com' . $_SERVER['PHP_SELF'];
?>

将 www.domain.com 更改为您的站点路径和 SSI.php 的路径。

于 2010-06-13T07:34:47.947 回答
0

该站点在本地运行但不在线,这意味着两者之间很可能存在一些设置差异,某些东西可能在服务器上被禁用:

  • 你在用short tags吗?它们是否也在在线服务器上启用?
  • 会话 cookie 是否写入成功?
  • 你有没有把session_start()你的剧本放在首位?
  • 尝试使用session_save_pathwhich 获取/设置当前会话保存路径
  • SMF API 的服务器要求是什么?
  • 通过比较本地和在线服务器的设置phpinfo()
  • 如果以上都没有解决您的问题,您可能想询问服务器支持团队。
于 2010-06-13T07:10:12.747 回答