安全表单登录

时间:2016-09-28 12:17:29

标签: php html

我创建了一个登录表单,显示用户名和密码,必须输入才能访问index.php我还有index.php所需的authenticate.php,因此无法登录即可访问该文件。但我不能得到表单实际登录它只是闪烁并带我回login.php

我的代码:

的login.php

<form name="login-form" id="login-form" method="post" action="<?php echo $PHP_SELF; ?>"> 
<fieldset> 
<legend>Please login:</legend> 
<dl> 
<dt> 
  <label title="Username">Username:
  <input tabindex="1" accesskey="u" name="username" type="text" maxlength="50" id="username" /> 
  </label> 
</dt> 
</dl> 
<dl> 
<dt> 
  <label title="Password">Password:
  <input tabindex="2" accesskey="p" name="password" type="password" maxlength="15" id="password" /> 
  </label> 
</dt> 
</dl> 
<dl> 
<dt> 
  <label title="Submit"> 
  <input tabindex="3" accesskey="l" type="submit" name="cmdlogin" value="Login" /> 
  </label> 
</dt> 
</dl> 
</fieldset> 
</form>

Authenticate.php

<?php
session_start();
if(empty($_SESSION["loginid"]) || $_SESSION["loginid"] != 'true') {
header("Location: login.php");
}
?>

但它没有登录。(请注意我是PHP的新手,我还在学习)我读到某个地方我需要一个login_exec.php脚本,这使得它登录但我尝试的一切只是撞毁了网站有错误。

2 个答案:

答案 0 :(得分:0)

成功验证后,您需要为$ _SESSION变量赋值

喜欢这个

$_SESSION["loginid"] = $user_id;

答案 1 :(得分:0)

您的代码有点邋,,但主要问题是您还没有将表单中的action属性更改为页面。

您需要将action="<?php echo $PHP_SELF; ?>"更改为action="Authenticate.php"。这将&#34;提交&#34;该页面的表格。

请记住,您还没有向我们提供有关数据库的任何信息,以及您还希望了解用户验证。更不用说你没有像用户Shital建议的那样在Authenticate.php内创建任何会话。

相关问题