Php 试图获取非对象的属性
当我运行php时,总是会出现以下错误: 注意:尝试在中获取非对象的属性 第42行的C:\xampp\htdocs\Project\a\index\u admin.php 我只想显示管理员的姓。这是我的密码Php 试图获取非对象的属性,php,Php,当我运行php时,总是会出现以下错误: 注意:尝试在中获取非对象的属性 第42行的C:\xampp\htdocs\Project\a\index\u admin.php 我只想显示管理员的姓。这是我的密码 xpath(“/*[admin\u username=$AdminID]”); 如果(计数($admin)>=1) { $xml_字符串=“”; while(列表(,$Node)=每个($admin)) { $xml_string.=$Node->asXML(); } } ?> 管理主菜单 v
xpath(“/*[admin\u username=$AdminID]”);
如果(计数($admin)>=1)
{
$xml_字符串=“”;
while(列表(,$Node)=每个($admin))
{
$xml_string.=$Node->asXML();
}
}
?>
管理主菜单
var-xmlhttp;
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
函数注销(){
$(文档).ready(函数(){
警报(“您已成功从系统注销。感谢您使用此系统!!”;
});
}
欢迎管理员。
管理菜单
第42行是:欢迎管理员。
我还尝试了欢迎管理员。
它还说:
注意:未定义的偏移量:0英寸
第42行的C:\xampp\htdocs\Project\a\index\u admin.php
admin.xml:
管理
1234
阿布
阿里
班登再也
1900
03-92844476
正如我所怀疑的,XPath查询返回时没有结果。我稍微修改了一下,成功了
更改此行:
$admin = $xml->xpath("//*[admin_username=$AdminID]");
为此:
$admin = $xml->xpath("//*[admin_username='$AdminID']");
您只需要在用户名字符串周围加引号
我个人对soulseekah在评论中提出的问题没有把握
我还想提一下:你不应该用明文存储密码。使用散列函数。您的xpath查询可能是空的。admin 1234 Abu Ali Pandan Jaya 1900 03-92844476和
$\u SESSION['id']
包含字符串admin
,对吗?xpath查询错误。应该是$xml->xpath(“*/admin\u username[text()='$AdminID']”“
(注意这里的注入)。@soulsekah这个查询的光泽对我来说似乎不太合适。好吧,/
意味着“任何级别的子元素”,而不是“至少两个标记深的元素”,以及*[admin\u username=something]
(忽略引用问题)表示具有名为admin\u username
的子元素的元素,该子元素的文本内容与something
匹配(“属性”在XML上下文中不表示任何内容,但与属性匹配的是*[@admin\u username=something]
)