-5

我使用 WampServer 创建了一个带有 php 和 SQL 的网站。在条件或 boule 之后,我使用 Header location 将用户转移到另一个页面。但是我从服务器收到一个错误,我认为是因为我在代码之后使用了标头,而不是在 . 我删除了所有的空格。

if($passfinal['contrasena']==$_POST['password'])
{
$_SESSION['logedin']=TRUE;
$_SESSION['userid']=$passfinal['id'];
header('Location: ../index.php');
}

你有什么可以帮助我的吗?谢谢你。

4

2 回答 2

0

我认为,这是问题所在$_POST['password'],因为在进行比较之前,首先必须检查if(isset($_POST['password'])),在这种情况下空格并不重要,最后一个:我建议您,您必须在标头函数中编写完整的 url,如下所示:header('location: http://example.com/index.php'),因为这是更美好和真实的方式。

于 2013-09-23T00:16:07.893 回答
0

警告:无法修改标头信息 - 标头已由第 37 行 /home/sirobdco/public_html/login/includes/loginform/loginform.php 中的(输出开始于 /home/sirobdco/public_html/login/login.php:11)发送

您已经发送了标头,因此 PHP 无法再次发送它们!
也就是说,在您的代码之前

header('Location: ../index.php');

您已经发送了标头 - html 中的空格、PHP 中的回显等。

仔细阅读: http:
//php.net/manual/en/function.header.php

请记住,必须在发送任何实际输出之前调用 header(),无论是通过普通 HTML 标记、文件中的空白行还是从 PHP 发送。使用 include 或 require 函数或其他文件访问函数读取代码并在调用 header() 之前输出空格或空行是一个非常常见的错误。使用单个 PHP/HTML 文件时也存在同样的问题。

于 2013-09-23T00:25:03.083 回答