Php 安全表单登录
我已经创建了一个登录表单,其中显示了访问index.php必须输入的用户名和密码。我还拥有index.php所需的authenticate.php,因此在没有登录的情况下无法访问文件。但是我无法让表单真正让我登录,它只是闪烁并将我带回login.php 我的代码: login.phpPhp 安全表单登录,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
<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;