私のウェブサイトの管理パネルはもはや機能しません。私はそれを編集するために多くの方法を疲れています。エラーがあるべき場所セッションのために管理パネルが動作しない
は私を見せて下さい
データベース
CREATE TABLE `egadmin` (
`AdminID` int(10) NOT NULL auto_increment,
`username` varchar(50) NOT NULL default '',
`password` varchar(50) NOT NULL default '',
PRIMARY KEY (`AdminID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
INSERT INTO `egadmin` VALUES (1, 'admin', 'pass');
conn.php [接続ファイル]
<?php
$db_host = "localhost";
$db_username = "root";
$db_password = "mypass";
$db_name = "dbname";
$connection = mysql_connect($db_host, $db_username, $db_password) or die(mysql_error());
$db = mysql_select_db($db_name, $connection);
?>
のindex.php [ログインフォーム]
<form action="validate.php" method="post">
ID <input type="text" name="userid" id="userid" />
Password <input type="password" name="password" id="password" />
<input type="submit" name="submit" value="Submit" />
</form>
Validate.phpと、[ログインフォームがValidate.phpとし、それを送信]
<?php
require_once("conn.php");
$user = $_POST["userid"];
$pass = sha1($_POST["password"]);
$query = "SELECT * FROM egadmin WHERE username = '$user' AND password = '$pass'";
$result = mysql_query($query);
if (mysql_fetch_row($result)) {
session_start();
header("Cache-control: private");
$_SESSION["access"] = "granted";
header("Location: secure.php");
} else
header("Location: index.php");
?>
secure.php [保護されたファイルである必要があります]
<?php
session_start();
header("Cache-control: private");
if ($_SESSION["access"] == "granted")
echo "blah blah blah";
else
header("Location: index.php");
?>
問題
正しいログイン情報(ユーザー名、パスワード)を入力するたびに、ログインフォーム(index.php)に再送され、$ _SESSIONをまったく作成できないように見えます。
任意の助けてくださいどのように修正するか、なぜそのエラー
注意:PHPバージョン5.2.17 | register_globals =オン(オフの場合は動作しません)
validate.phpにsession_start()を入れてみてください。 – OptimusCrime