【发布时间】:2014-09-07 00:34:54
【问题描述】:
我正在尝试从登录页面获取密码,然后尝试从 mysql 收集存储的密码。然后我将它与提交的密码进行比较。现在我想如果两个密码匹配然后重定向到一个页面。但问题是每次页面重定向。如果密码甚至与页面重定向不匹配。
<?php
if (redirect()==true){
header('location:http://google.com');
}
if(redirect()!=false){
echo "password doesnt match";
}
$hostname="localhost";
$dbname="justlive_main";
$dbusername="justlive_main";
$dbpass="Kalkata1";
#Veriable collected From Login Panel
$Submitted_Email_Address=$_POST['email'];
$Submitted_Password=$_POST['password'];
$encrypt_Submitted_Password=md5($Submitted_Password);
#Lets gather Data From MySql Database
$con=new mysqli($hostname,$dbusername,$dbpass,$dbname);
if (mysqli_connect_errno($con)) {
die('The connection to the database could not be established.');
}
$query="SELECT * FROM users WHERE Email_Address='$Submitted_Email_Address'";
$result=$con->query($query);
$row=$result->fetch_array();
$SQL_Password = $row['Password'];
function redirect(){
if ($encrypt_Submitted_Password!=$SQL_Password) {
return false;
}
elseif ($encrypt_Submitted_Password == $SQL_Password) {
return true;
}
}
#Lets CLose All The MySql Connection
$result->free();
$con->close();
?>
我已删除该功能并尝试以简单的方式进行操作。但它仍然无法正常工作。 编辑代码:
<?php
if ($encrypt_Submitted_Password!=$SQL_Password) {
echo "Please check your Password";
}
elseif ($encrypt_Submitted_Password == $SQL_Password) {
header('location:http://google.com');
}
$hostname="localhost";
$dbname="justlive_main";
$dbusername="justlive_main";
$dbpass="Kalkata1";
#Veriable collected From Login Panel
$Submitted_Email_Address=$_POST['email'];
echo "Submited Email Address:". $Submitted_Email_Address."<br>";
$Submitted_Password=$_POST['password'];
echo "Submitted Password : ".$Submitted_Password. "<br>";
$encrypt_Submitted_Password=md5($Submitted_Password);
echo "Encrypted Submitted_Password:".$encrypt_Submitted_Password."<br>";
#Lets gather Data From MySql Database
$con=new mysqli($hostname,$dbusername,$dbpass,$dbname);
if (mysqli_connect_errno($con)) {
die('The connection to the database could not be established.');
}
$query="SELECT * FROM users WHERE Email_Address='$Submitted_Email_Address'";
$result=$con->query($query);
$row=$result->fetch_array();
$SQL_Password = $row['Password'];
echo "Mysql Database Stored Password: ".$SQL_Password."<br>";
#Lets CLose All The MySql Connection
$result->free();
$con->close();
?>
【问题讨论】:
-
你的
redirect()函数的定义是什么? -
在
header()重定向之后应该有一个exit;,顺便说一句。 -
if ($encrypt_Submitted_Password!=$SQL_Password) { 这个语句应该是 == NOT =
-
@jack 我已将代码编辑如下。请看一看。仍然无法正常工作pastebin.com/pFX3kBt2
-
对不起,我没看到! for != :) 忽略我的帖子 :)