使用php的简单单一页面的代码

时间:2014-07-04 06:22:20

标签: php html

我是编程新手。我需要一个简单的PHP登录页面代码,它会在同一页面中显示错误消息,以查找错误的登录详细信息,并重定向到帐户页面,以获取正确的登录详细信息。代码应该记住活动并重定向到用户的帐户页面,如果他已经关闭页面而没有登出。任何帮助将深表感谢。

登录页面

    <html>
<head>
<title>Login</title>
</head>
<h3>Login Page</h3>
<form action="trylog.php" method = "post"><!--action redirects to trylog.php -->
<label for="username">Username</label> <input type="username" id="usename" name="username"><br /><br /><!--username label defined -->
<label for="password">Password:</label> <input type="password" id="password" name="password"><br /><br /><!--password label defined -->
<button type = "submit">Login</button><!--submit button defined -->
</form>
</html>

帐户页面

    <html>
<title>Login</title>
<body>

<?php
session_start();    //resumes previous session based on indentifiers from POST attribute in login.php 
$usr = "admin";     //usr keyword defined
$psw = "password";  //psw keyword defined
$username = '$_POST[username]';
$password = '$_POST[password]';
            //$usr == $username && $psw == $password
if ($_SESSION['login']==true || ($_POST['username']=="admin" && $_POST['password']=="password")) 
            //checking for correctness of username and password
{
 echo "password accepted";
    $_SESSION['login']=true;
            //successful login confirmation
 echo "<br><a href='http://localhost/login/login.php'>Logout</a>"; 
} 
else 
{ 
 echo "incorrect login";
            //incorrect login message
}
session_destroy();  //destroys session
 ?>  
  </body>
  </html>

由于 Navaneeth

1 个答案:

答案 0 :(得分:0)

  1. session_start必须在输出前,因此请在<html>等之前移动(输出也是<?php之前的空格。{{ 1}}必须是代码中的第一个序列。

  2. <?php$psw变量的含义是什么?你有形式,删除它们。

  3. 使用变量时,不要使用引号 - 您可以使用双引号,而不是单引号。更好的是不使用引号:$usr。另一方面,键应该在引号中,在其他地方使用未定义的常量$username = $_POST['username']; - 如果常量不存在,PHP使用相同的字符串。

  4. 第12行的条件永远不会是username,因为你在那里测试了true之前没有设置过的。您可以在第16行设置此会话,但仅限于此会话已存在(第12行)。这是合乎逻辑的废话: - )

  5. 为什么在不与它们合作时创建变量SESSION$username

  6. 在使用$password第9行和第10行之前,您必须检查表单是否已发送,因此$_POST