2016-09-28 132 views
-2

我创建了一个登录表单,显示用户名和密码,必须输入才能访问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

你还没有看到提交的表单数据的任何代码。 – Quentin

回答

0

您需要的值,认证成功后

像这样

$_SESSION["loginid"] = $user_id; 
+0

http://forums.devshed.com/php-faqs-stickies-167/program-basic-secure-login-system-using-php-mysql-891201.html – baliman

+0

我明白了。我会在哪里提供这些信息? – RedZ

0

您的代码分配给$ _SESSION变量是有点邋遢,但主要的问题是,你没有改变的action将表单中的属性添加到页面中。

您需要将action="<?php echo $PHP_SELF; ?>"更改为action="Authenticate.php"。这将“提交”该表单到该页面。

请记住,您没有向我们提供有关数据库的任何信息,以及您还希望查看用户验证。更何况,您还没有在用户Shital建议的Authenticate.php内创建任何会话。