我的php登录代码有什么问题?

时间:2014-09-21 05:25:36

标签: php forms login

我对在php中编写内容进行编码相对较新,我正在寻找帮助解决我的错误。我过去几个小时一直在浏览这个网站,找不到具体回答我问题的任何内容。所以任何帮助都将不胜感激。

我正在尝试使用密码进行非常简单的页面登录。虽然我做错了但似乎。我在ftp服务器上安装了一切,然后登录我的会员页面。

更新:以下是为我制定的最终代码。

以下是我放在" members.php "顶部的代码:

<?php
error_reporting(E_ALL);
    session_start();

    if(!isset($_SESSION['loggedin'])){
       header("location:login2.php");
    }
?>

这会将我发送给&#34; login.php &#34;我可以去。以下是我在此页面上的表单代码:

<form name="form1" method="post" action="checklogin.php">
        <label for="password">This Area Requires a Password:</label>
        <input name="password" type="text" id="password">
        <div id="lower">
         <input type="submit" name="Submit" value="Login">
        </div>
    </form>

一旦有人输入密码(只有一个密码),提交/登录按钮应该将他们带到&#34; checklogin.php &#34;然后将它们重定向到&#34; members.php &#34;。不幸的是,这种情况并没有发生。它只是清除我在密码框中输入的内容并保持在同一页面(login.php),并且我没有收到任何错误消息。

以下是我的代码&#34; checklogin.php &#34;:

    <?php
error_reporting(E_ALL);
session_start();

$host=""; 
$username="";
$password="";
$db_name="";
$tbl_name="";

mysql_connect($host, $username, $password) or die("cannot connect"); 
mysql_select_db($db_name) or die("cannot select DB");

$mypassword=$_POST['password'];
$mypassword = stripslashes($mypassword);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name WHERE password='$mypassword'";
$result=mysql_query($sql);

$count=mysql_num_rows($result);

if($count==1){

    $_SESSION["loggedin"] = "true";

    header("location:members2.php");

}
else {

    echo "Wrong Password";

}
?>

我为我的网站安全性取出了数据库登录信息,但我确实在数据库中设置了一个如下所示的表:

Database Table Image

所以我不太确定我错过了什么,但这可能是因为我对它很陌生。任何帮助将不胜感激,当然,如果您有任何疑问,请随时提出。此外,如果有人可能会建议加密密码的方法,那也会很好。谢谢。

2 个答案:

答案 0 :(得分:1)

为什么要在会话中存储密码?  如果你想存储它是session,那么在页面检查login.php这样做 Start_session(); $ _session ['mypassword'] = $ _post ['password'];

我不会在会话中存储密码。 你可以做一些相似的事情 $ mypass = $ _post ['password'];

然后创建。会话变量,仅在用户通过身份验证时设置。

如果在数据库中找到$ mypass,那么就这样做 Start_session(); $ _session ['autherized'] = true;

在其余页面上,您可以在我的echo语句执行此操作之前进入最顶层 Sesaion_start(); 如果(!isset($ _ session ['autherized'])||($ _session ['autherized']!== true){ 标题('location:login.php'); 出口(); } 您可以查看此链接以获取有关如何创建简单登录页面的教程

http://www.devarticles.com/c/a/PHP/PHP-for-Beginners-by-a-Beginners/

对于我使用iPhone的任何拼写错误/格式感到抱歉,因此很难输入

答案 1 :(得分:0)

你的方法是对还是错我只是纠正它,所以它适合你。

我希望它能为你工作,因为我已经在我的电脑上测试了它。

Login.php

checklogin.php

members.php