在我的代码中,我有两个文件; connection.php和test.php
这是我的connection.php代码:
<?php
session_id();
session_start();
ob_start();
date_default_timezone_set('America/Chicago');
$link = mysql_connect('localhost', 'induadmi_main', '$admiNiNd/U');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$User = $_SESSION['Username'];
$Admin = $_SESSION['Admin'];
if ($User) {
$MyUser = mysql_query("SELECT * FROM Users WHERE Username='SamDreadrage'");
$myU = mysql_fetch_object($MyUser);
var_dump($myU);
$UserExist = mysql_num_rows($MyUser);
if ($UserExist == "0") {
session_destroy();
header("Location: /index.php");
}
}
这是针对test.php:
<?php
include "connection.php";
echo 'password', $myU->Password;
?>
test.php只回显&#34;密码&#34;,而不是回复&#34;密码TestPassword&#34;喜欢它。 connection.php还包括我测试过的工作连接,我确保phpMyAdmin中的所有表SELECT * FROM Users WHERE Username='SamDreadrage'
都有效,所以我没有看到问题。
test.php也是打印错误,它们是:
注意:未定义的索引:Admin in 第10行/home/induadmi/public_html/por/connection.php
注意:未定义的索引:用户名 第11行/home/induadmi/public_html/por/connection.php
警告:mysql_fetch_object():提供的参数不是有效的MySQL 结果资源在/home/induadmi/public_html/por/connection.php上 第16行布尔(假)
警告:mysql_num_rows()要求参数1为resource,boolean 在第18行的/home/induadmi/public_html/por/connection.php中给出
注意:尝试获取非对象的属性 第4行/home/induadmi/public_html/por/test.php
答案 0 :(得分:0)
$_SESSION['Username'];
未设置,因此您将收到这些通知和错误,正确的检查方法是:
if(isset($_SESSION['Username'])){
$User = $_SESSION['Username'];
//$Admin = $_SESSION['Admin'];
$MyUser = mysql_query("SELECT * FROM Users WHERE Username='SamDreadrage'");
$myU = mysql_fetch_object($MyUser);
var_dump($myU);
$UserExist = mysql_num_rows($MyUser);
if ($UserExist == "0") {
session_destroy();
header("Location: /index.php");
}
}else{
echo "session is null";
}