0

config.php ファイルを機能させようとしていますが、login.php でそれを使用するたびに、login.php ファイルから members.php ページに進むのではなく、白いページが表示されます。接続情報を login.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が初めてなので、私のコードを笑わないでください。助けてくれてありがとう!

4

2 に答える 2

4

コードに加えて、エラーをオンにします。

ini_set("display_errors","On");

そして、mysqlエラーが表示されることを確認してください。

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

最後にもう1つ、mysql_*関数は非推奨になっていますが、関数を使用する場合は、クエリで使用する前に必ずデータをエスケープしてください。SQLインジェクションの犠牲になる可能性があります。

于 2012-10-11T00:01:09.557 に答える
0

使用してみてください:

include "config.php";

それはすべきではありincludeませんincludes

于 2012-10-11T09:14:22.513 に答える