0

こんにちは、これはstackoverflowに関する私の最初の投稿です。私はphp、mysqlの初心者レベルで、mysqlデータベースに接続されたphpログインページで作業しています。これをxamppでテストしようとすると、次のエラーメッセージが表示されます

Warning: include(../storescripts/connect_to_mysql.php): failed to open stream: No such
file or directory in C:\xampp\htdocs\myonlinestore\storeadmin\admin_login.php 
on line 15

Warning: include(): Failed opening '../storescripts/connect_to_mysql.php' for
inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\myonlinestore
\storeadmin\admin_login.php on line 15

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in 
C:\xampp\htdocs\myonlinestore\storeadmin\admin_login.php on line 18
That information is incorrect, try again Click Here

win7 64ビットでdreamwavercs6を介してmysqlデータベースに正常に接続でき、作成された管理テーブルに完全な権限を持つ管理者を作成したため、dbのユーザーを作成しました。index.phpログインに成功すると、同じディレクトリのサブフォルダーにある、管理者のみがタスクを選択するための 2 番目のインデックス ページであるというフォローアップ ページに移動します。ホームページindex.phpはこちらC:\xampp\htdocs\myonlinestore\index.php\

呼び出されたスクリプトを含むファイルは、admin_login.phpここの下に表示されます

<?php
session_start();
if (isset($_SESSION["manager"])){
header("location: index.php");
exit();
}
?>
<?php
if (isset($_POST["username"]) && isset($_POST["password"])){

$manager = preg_replace('#[^A-Za-z0-9]#i','',$_POST["username"]);
$password = preg_replace('#[^A-Za-z0-9]#i','',$_POST["password"]);

include "../storescripts/connect_to_mysql.php";
$sql = mysql_query("SELECT id FROM admin WHERE username='$manager' AND
password='$password' LIMIT 1");
$existCount = mysql_num_rows($sql);
if ($existCount == 1){
while($row = mysql_fetch_array($sql)){
$id = $row["id"];
}
$_SESSION["id"] = $id;
$_SESSION["manager"] = $manager;
$_SESSION["password"] = $password;
header("location: index.php");
exit();
} else {
echo 'That information is incorrect, try again <ahref="index.php">Click Here</a>';
exit();
}
}
?>

connect_to_mysql.phpここの下のスクリプト

 <?php 
$db_host = "localhost";
$db_username = "user"; 
$db_pass = "user"; 
$db_name = "myonlinestore_db";

mysql_connect("$db_host","$db_username","$db_pass") or die ("could not connect to
mysql");
mysql_select_db("$db_name") or die ("no database");             
?>

スクリプトは、ログインに成功したときにリダイレクトされるindex.phpランディング ページです。admin_login

<?php
session_start();
if(!isset($_SESSION["manager"])){
header("location: admin_login.php");
exit();
}
$managerID = preg_replace('#[^0-9]#i', '',$_SESSION["id"]);
$manager = preg_replace('#[^A-Za-z0-9]#i', '', $_SESSION["manager"]);
$password = preg_replace('#[^A-Za-z0-9]#i', '', $_SESSION["password"]);

include"../storescripts/connect_to_mysql.php";
$sql=mysql_query("SELECT*FROM admin WHERE id='$managerID' AND username='$manager' AND
password='$password' LIMIT 1"); // query the person

$existCount=mysql_num_rows($sql); // count the nums
if ($existCount==0){//evaluate the count
echo "Your login session data is not on record in the database";
exit();
}
?>

問題は、Firefox ブラウザーからログインできず、上部に記載されているエラーが発生することです。Firefox ブラウザーのすべてのアドオン、拡張機能が無効になっており、Cookie の受け入れが選択されています。この問題を解決するのに役立つ人はいますか?

よろしくお願いします

4

3 に答える 3

0

ここで、スクリプトに connect_to_mysql.php ファイルを含めることができません。

include "../storescripts/connect_to_mysql.php";

相対パスを指定しようとしています。含めている相対パスからそのファイルに適切にアクセスできることを確認してください。つまり、admin_login.php ファイルです。

インクルードに絶対パスを渡してみることができます:

include "C:\xampp\htdocs\myonlinestore\storescripts\connect_to_mysql.php";

絶対パスが正しい場合は、ファイル マネージャーでパスを確認してください。

于 2013-08-29T18:46:46.277 に答える