Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XML PHP登录错误_Php_Xml_Forms_Login - Fatal编程技术网

XML PHP登录错误

XML PHP登录错误,php,xml,forms,login,Php,Xml,Forms,Login,我试图用XML和PHP创建一个登录表单,但总是会出错。我的HTML文件: XML文件标记中有错误。缺少关闭标记 xml 更新 我已经调试了您的代码,并且正确地找到了用户,但是我注意到您代码下面部分中的另一个错误 $xml->user->$l_usr->password 此返回值始终为空且为运算符!这里没用 <?php $xml = simplexml_load_file('users.xml'); $usr = $_POST['username']; $pass =

我试图用XML和PHP创建一个登录表单,但总是会出错。我的HTML文件:


XML文件标记中有错误。缺少关闭标记

xml

更新


我已经调试了您的代码,并且正确地找到了用户,但是我注意到您代码下面部分中的另一个错误

$xml->user->$l_usr->password
此返回值始终为空且为运算符!这里没用

<?php
$xml = simplexml_load_file('users.xml');
$usr = $_POST['username'];
$pass = $_POST['pass'];
if(empty($usr)) {
  die('Please enter an username!');
} elseif(empty($pass)) {
  die('Please enter a password!');
}
$pass_e = md5($_POST['pass']);
$valid=false;
foreach($xml->user as $userNode)
{
  if($userNode->username==$usr && $userNode->password==$pass_e)
 {
   $valid=true;
   break;
 }
}

if($valid==false)
{
  die('Wrong password or username');
}

echo 'Hello, '.$usr;
我已经修复了它,编写了更高效、更正确的代码


这是说找不到用户,但实际上我写的是正确的用户名和正确的密码。你不使用数据库的特殊原因是什么?它也比文本文件少很多,而且更安全。你也不应该使用MD5,你根本不应该使用这段代码,如果它正在运行或者已经在运行的话。你会被黑客攻击的。不要忽视我的评论,再一次。。。你会被黑客攻击,然后你会回来哭着对我们说:我的网站被黑客攻击了,我该怎么办??!!你似乎只对下面的答案做出了回应。看到另一个了吗,那就是起作用的那个。然后去回复他,祝你的网站在被黑客攻击时好运。我要走了。
if(!$xml->user->$l_usr->password == $pass_e)
$xml->user->$l_usr->password
<?php
$xml = simplexml_load_file('users.xml');
$usr = $_POST['username'];
$pass = $_POST['pass'];
if(empty($usr)) {
  die('Please enter an username!');
} elseif(empty($pass)) {
  die('Please enter a password!');
}
$pass_e = md5($_POST['pass']);
$valid=false;
foreach($xml->user as $userNode)
{
  if($userNode->username==$usr && $userNode->password==$pass_e)
 {
   $valid=true;
   break;
 }
}

if($valid==false)
{
  die('Wrong password or username');
}

echo 'Hello, '.$usr;