2012-10-10 180 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