2013-12-15 41 views
1

當我運行我的PHP,我總是得到這樣的錯誤:試圖獲取財產上的非對象

Notice: Trying to get property of non-object in C:\xampp\htdocs\Project\a\index_admin.php on line 42

我只是想表明管理員的姓氏。這是我的代碼。

<?php 
session_start(); 
$AdminID = $_SESSION['id']; 
$xml = simplexml_load_file("admin.xml"); 

$admin = $xml->xpath("//*[admin_username=$AdminID]"); 
if(count($admin)>=1) 
{ 
    $xml_string = ''; 
    while(list(, $Node) = each($admin)) 
    { 
    $xml_string .= $Node->asXML(); 
    } 
} 
?> 

<!DOCTYPE html> 
<html> 
<head><title>Admin Main menu</title> 
    <script src="JQuery/jquery-1.8.2.min.js"></script> 
    <script type="text/javascript"> 
    var xmlhttp; 
    if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp = new XMLHttpRequest(); 
    } 
    else 
    {// code for IE6, IE5 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    function logout(){ 
     $(document).ready(function(){ 
     alert("Your successfully logout from system.Thank for using this system!!"); 
     }); 
    } 

    </script> 
</head> 
<body> 
<center> 
    <h1><u>Welcome Admin <?php echo $admin->admin_lname;?>.</u></h1> 
    <h3>Admin menu</h3> 
    <br/> 
    <br><a class = "MenuButton" href = "insert menu.php" target = "Content"><b>Insert Data</b></a> 
    <br><a class = "MenuButton" href = "admin profile.php" target = "Content"><b>View Profile</b></a> 
    <br><a class = "MenuButton" href = "admin search.php" target = "Content"><b>Search Shoe</b></a> 
    <br><a class = "MenuButton" href = "logout.php" onclick = "logout()"><b>Logout</b></a> 

</center> 
</body> 
</html> 

42號線會是這樣:<h1><u>Welcome Admin <?php echo $admin->admin_lname;?>.</u></h1>

我也試過<h1><u>Welcome Admin <?php echo $admin[0]->admin_lname;?>.</u></h1> 並返回此:

Notice: Undefined offset: 0 in C:\xampp\htdocs\Project\a\index_admin.php on line 42

admin.xml的:

<?xml version="1.0"?> 
<?xml-stylesheet type="text/xsl" href="admin.xsl"?> 
<ALDO> 
    <admin> 
    <admin_username>admin</admin_username> 
    <admin_password>1234</admin_password> 
    <admin_fname>Abu</admin_fname> 
    <admin_lname>Ali</admin_lname> 
    <admin_address>Pandan Jaya</admin_address> 
    <admin_salary>1900</admin_salary> 
    <admin_telno>03-92844476</admin_telno> 
    </admin> 
</ALDO> 
+0

好像你的xpath查詢可能是空的。 –

+0

<?XML版本= 「1.0」?> <?xml樣式表型= 「文本/ XSL」 HREF = 「admin.xsl」?> 管理 1234 阿布 阿里 香蘭再也 1900 03-92844476 user3103158

+0

這是我的admin.xml – user3103158

回答

1

XPath查詢,正如我懷疑的那樣,沒有結果就回來了。我稍微修改了它,並取得了成功。

改變這一行:

$admin = $xml->xpath("//*[admin_username=$AdminID]"); 

要這樣:

$admin = $xml->xpath("//*[admin_username='$AdminID']"); 

你需要的一切都是圍繞着用戶名字符串引號。

我曾經親自與soulseekah在評論中查詢沒有運氣。

我也想提一提:你不應該存儲明文密碼。使用散列函數。