与标题代码PHP警告

问题描述:

我写了这个代码,并在我的本地完美地工作,但上传后,我得到一个错误下面 是代码:与标题代码PHP警告

<?php 
require ('config.php'); 
$dblink = new PDO("mysql:host=$host;dbname=$db",$user,$pass); 
session_start(); 
    $user = $_POST["user"]; 
    $pass = md5($_POST["pass"]); 
    $mysql_login = "SELECT * FROM admins WHERE username='$user' AND password='$pass'"; 
    $query_login = $dblink->query($mysql_login) or die("failed!"); 
    $total = $query_login->rowCount(); 
    if($total==1){ 
    $_SESSION["loggedIn"] = true; 
    header("Location:admin.php"); 
    }else{ 
    header("Location:admin.php"); 
    } 
?> 

,这里是错误

警告:不能更改头信息 - 已经 发送的报头 /home/voiceiq/public_html/login.php(输出开始/home/voiceiq/public_html/config.php:8)上线12

正如我告诉你,在我的本地主机“Xampp服务器”它的工作完美,但上传后警告剧照显示。

请任何帮助?

+0

为什么你要经历使用PDO的麻烦,但却无法真正使用参数化查询?你有什么是非常不安全的。如果你还没有,你**将被黑客攻击**。 – Brad 2013-02-19 20:49:51

+2

你的'config.php'的第8行是什么? – complex857 2013-02-19 20:49:55

+0

与问题无关:请勿使用MD5进行密码散列处理,并在通过查询运行查询或使用参数化查询/语句之前转义您的输入。 – Lusitanian 2013-02-19 20:59:35

只要确保你的文件不包含任何空格并且脚本不会回显任何内容。使用前header(); 同样约require ('config.php');

此外,尝试编码您的文件到UTF-8 without BOM

+0

我做到了,并感谢Jari – 2013-02-20 09:42:33

在重定向发生之前,某些内容发送,“回显”或“显示”。

阅读此页面上的“描述”块,灰色块内。

http://www.php.net/manual/en/function.header.php

弄清楚它是什么,解决它,你不会得到的警告了。

从config.php的底部删除?>。可能会导致您的问题后,您不需要它和一个空间。

+0

它是在配置文件下的2个空行?我删除了它们,并完美地工作谢谢你 – 2013-02-20 09:41:27