Php 安全表单登录

Php 安全表单登录,php,html,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; ?>"> <f

我已经创建了一个登录表单,其中显示了访问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>

成功身份验证后,您需要为$\u会话变量赋值

像这样

$_SESSION["loginid"] = $user_id;

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

您需要将
action=”“
更改为
action=“Authenticate.php”
。这将“提交”表单到该页面


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

您还没有看到提交表单数据的任何代码。
$_SESSION["loginid"] = $user_id;