こんにちは、これは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 の受け入れが選択されています。この問題を解決するのに役立つ人はいますか?
よろしくお願いします