我对在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";
}
?>
我为我的网站安全性取出了数据库登录信息,但我确实在数据库中设置了一个如下所示的表:
所以我不太确定我错过了什么,但这可能是因为我对它很陌生。任何帮助将不胜感激,当然,如果您有任何疑问,请随时提出。此外,如果有人可能会建议加密密码的方法,那也会很好。谢谢。
答案 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)
你的方法是对还是错我只是纠正它,所以它适合你。
我希望它能为你工作,因为我已经在我的电脑上测试了它。