Php登录面板

时间:2010-07-09 14:48:53

标签: php

我开发了一个小应用程序。我为它创建了一个登录面板。我只有一个用户,所以我硬编码了用户名和密码。下面是代码,但它没有工作。我没有这个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");
}    
?>

2 个答案:

答案 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

  }

}
?>