我开发了一个小应用程序。我为它创建了一个登录面板。我只有一个用户,所以我硬编码了用户名和密码。下面是代码,但它没有工作。我没有这个bcoz的任何数据库,它只有1个用户。 任何帮助我将不胜感激。 提前谢谢。
<?php
if(($_POST['na'] = 'admin') == ($_POST['pwd'] = 'zucker'))
{
header("location:first.php");
}
else
{
header("location:index.php?msg=enter correct user name and password");
}
?>
答案 0 :(得分:2)
好的,从我可以从你的代码中解读 - 你有=和==错误地应用了。你有=你想要==你在哪里==你想要&amp;&amp;
if (($_POST['na']=='admin') && ($_POST['pwd']=='zucker')) {
header('location:first.php')
};
我希望这不是你的登录模式的工作方式 - 什么能阻止任何人直接转到first.php?
答案 1 :(得分:0)
要避免一些通知错误和其他错误:
<?php
$na = isset($_POST['na']) ? $_POST['na'] : false;
$pwd = isset($_POST['pwd']) ? $_POST['pwd'] : false;
$submit = isset($_POST['submit']) ? true : false;
if ($submit) {
if ($na == 'admin' && $pwd == 'zucker') {
header("location:first.php");
exit(); // Make sure nothing else gets sent
} else {
header("location:index.php?msg=enter correct user name and password");
exit(); // Make sure nothing else gets sent
}
}
?>
这是一个稍微高级的例子:
<?php
$na = isset($_POST['na']) ? $_POST['na'] : false;
$pwd = isset($_POST['pwd']) ? $_POST['pwd'] : false;
$submit = isset($_POST['submit']) ? true : false;
// Accounts array (append as you wish)
$accounts = array(
'admin' => '4635c0015b2084afcc7cb39593545e06',
'foo' => '37b51d194a7513e45b56f6524f2d51f2'
);
// form complete?
if ($submit && $na && pwd) {
if (isset($accounts[$na]) && md5($accounts[$na]) == $pwd) {
header("location:first.php");
exit(); // Make sure nothing else gets sent
} else {
header("location:index.php?msg=enter correct user name and password");
exit(); // Make sure nothing else gets sent
}
}
?>