2013-02-19 172 views
0

我寫了這個代碼,並在我的本地完美地工作,但上傳後,我得到一個錯誤下面 是代碼:與標題代碼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

回答

0

只要確保你的文件不包含任何空格並且腳本不會回顯任何內容。使用前header(); 同樣約require ('config.php');

此外,嘗試編碼您的文件到UTF-8 without BOM

+0

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

1

從config.php的底部刪除?>。可能會導致您的問題後,您不需要它和一個空間。

+0

它是在配置文件下的2個空行?我刪除了它們,並完美地工作謝謝你 – 2013-02-20 09:41:27