0

我对登录和注册脚本不起作用的问题感到非常恼火。最有趣的是,两周前我在另一个服务器的另一个网站上使用了完全相同的脚本,而且效果非常棒!

问题

当我尝试注册或登录时,我没有被重定向到我应该进入的页面。在 register.php 上,用户已注册(我可以在数据库中看到它),但我没有重定向到 login.php,而是脚本在“将您重定向到 xxxx.php”的消息上崩溃。在这里你可以阅读我的脚本

我联系了我的服务器(ipage),询问他们的系统是否有问题。我得到了 3 个不同的交叉答案:

1st)我能够复制您的问题。我做了一些初步的故障排除,但无法找到问题的根本原因。2nd)他们后来回答我说他们能够注册新用户并毫无问题地登录 3rd)最终的答案是问题出在我的脚本上

我不确定这里发生了什么,因为脚本不起作用(与他们所说的相反)。我想知道他们是否在撒谎,因为他们根本就不好或无法找出问题的原因。无论如何,错误日志显示以下内容:

*"20131014T033118: url.org/folder/login.php PHP 警告:session_start():无法发送会话 cookie - 标头已由(输出开始于 /hermes/bosweb26a/b366/ipg.domainname/folder/folder/common。 php:1) 在 /hermes/bosweb26a/b366/ipg.domainname/folder/folder/common.php 第 77 行"*

第 77 行是:header('Content-Type: text/html; charset=utf-8');。如果我把它拿出来,错误只会传递到另一行......

假设我已经调试了脚本并且没有发现错误,这可能是由于服务器的质量造成的吗?(PHP 版本?)

4

4 回答 4

0

可以放在session_start()第一行 ok common.php

于 2013-10-14T08:01:36.990 回答
0

You need to make sure session_start() is called before calling header(), or echoing any content. So in login.php, you need to make sure session_start() is either at the top of the page, or you need to move it so it is called much earlier in your script, at least before any header() calls.

于 2013-10-14T08:06:02.403 回答
0

只需切换session_startheader('Content-Type: text/html; charset=utf-8')

// This initializes a session.  Sessions are used to store information about 
// a visitor from one web page visit to the next.  Unlike a cookie, the information is 
// stored on the server-side and cannot be modified by the visitor.  However, 
// note that in most cases sessions do still use cookies and require the visitor 
// to have cookies enabled.  For more information about sessions: 
// http://us.php.net/manual/en/book.session.php 
session_start(); 

// This tells the web browser that your content is encoded using UTF-8 
// and that it should submit content back to you using UTF-8 
header('Content-Type: text/html; charset=utf-8'); 

你之前有空间<?php作为顶部common.php吗?如果你这样做,你需要删除它。

于 2013-10-14T08:04:23.640 回答
0

我个人在文件末尾和ob_start();之后使用;session_start();ob_flush()

于 2013-10-14T08:47:27.187 回答