2012-10-10 121 views
0

我想讓我的config.php文件工作,但每次我用它與我的login.php它只是給我一個白頁,而不是繼續通過我的login.php文件對我的成員.php頁面。我把我的連接信息放到我的login.php腳本中,它正常工作,下面列出了我一直在努力做的事情。PHP包括不工作

的config.php

<?php 

$con = mysql_connect("mysql","DBUSER","DBPASS"); 
if (!$con) 
{ 
die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db("DBNAME", $con); 

/* WHAT I ORIGINALLY WANTED TO USE 
$localhost = "mysql"; 
$dbuser = "DBUSER"; 
$dbpass = "DBPASS"; 
$dbname = "DBNAME"; 

$connect = mysql_connect($localhost, $dbuser, $dbpass); 
mysql_select_db("$dbname", $connect); 
*/ 

?> 

的login.php

<?php 
// I ALSO USED includes"config.php"; 
require("config.php"); 

$username = $_POST['username']; 
$password = $_POST['password']; 


$query = mysql_query("SELECT * FROM member WHERE username = '$username' AND password =  '$password'"); 
$data = mysql_fetch_assoc($query); 

if(mysql_num_rows($query)){ 
session_start(); 
$_SESSION['username'] = $data['username']; 
header("Location: members.php"); 
exit; 
} 

header("Location: index.php"); 

?> 

我是新來的PHP,所以不要在我的代碼笑的幫助,請感謝!

+3

死亡=錯誤的白頁,但你有錯誤檢查關閉或不顯示。 – 2012-10-10 23:58:12

+0

有沒有錯誤?檢查你的錯誤日誌 –

+1

includes include'include(「config.php」);'http://php.net/manual/en/function.include.php – Jason

回答

4

在對錯誤代碼轉頂:

ini_set("display_errors","On"); 

,並確保你可以看到你的MySQL錯誤:

$query = mysql_query(...) or die("Error: ".mysql_error()); 

還有最後一兩件事:雖然mysql_*功能被棄用,如果在查詢中使用它們之前,您始終使用它們來轉義數據;你可以成爲SQL injection的受害者。

+0

好吧,給我一個嘗試,謝謝我會嘗試這些,看看sql注入! – Nexus9988

+0

當我添加ini_set時,我的兩個消息是:Warning:session_start()[function.session-start]:無法發送會話緩存限制器 - 已在/ php/login中發送(在/php/config.php:21開始的輸出) .php on line 13 警告:無法修改標頭信息 - 第15行中的/andrew/login.php中的(通過/php/config.php:21開始的輸出)發送的標頭 – Nexus9988

+0

這意味着您正在設置您的標題已經發送後。也許在你的配置中移動session_start。 – Ibu

0

嘗試使用:

include "config.php"; 

應該includeincludes