1 回答
TA贡献1804条经验 获得超8个赞
在 foreach 循环中,您仅检查 XML 数据中的第一个条目,如果不匹配则退出。你需要做这样的事情:
<?php
$emailid = $_POST["email"];
$pass = $_POST["password"];
if (isset($_REQUEST['ok']))
{
$xml2 = simplexml_load_file('storedata.xml');
$validLogin = false;
foreach ($xml2->data as $user)
{
// for every user node
if ($user->email2 == $emailid && $user->pass2 == $pass)
{
$validLogin = true;
break;
}
}
if ($validLogin)
{
header("Location: index.html", true, 301);
exit();
}
else
{
echo 'Sorry, email and passwords dont match.<br><p>Please go back to the login page and enter correct information.</p>';
}
if (($_POST["email"] == "webuy55@gmail.com") && ($_POST["password"] == "teamproject55"))
{
header("Location: backstore_inventory_ben.html", true, 301);
exit();
}
}
另外,如果您的 XML 文件中有多个条目,您可能需要检查DOM,特别是DOMXpath,这样您就可以搜索匹配项,而不必遍历整个 ist 并进行字符串匹配。
- 1 回答
- 0 关注
- 89 浏览
添加回答
举报