我创建了一个登录表单,显示用户名和密码,必须输入才能访问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脚本,这使得它登录但我尝试的一切只是撞毁了网站有错误。
答案 0 :(得分:0)
成功验证后,您需要为$ _SESSION变量赋值
喜欢这个
$_SESSION["loginid"] = $user_id;
答案 1 :(得分:0)
您的代码有点邋,,但主要问题是您还没有将表单中的action
属性更改为页面。
您需要将action="<?php echo $PHP_SELF; ?>"
更改为action="Authenticate.php"
。这将&#34;提交&#34;该页面的表格。
请记住,您还没有向我们提供有关数据库的任何信息,以及您还希望了解用户验证。更不用说你没有像用户Shital建议的那样在Authenticate.php
内创建任何会话。