我尝试从登录页面获取密码,然后尝试从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();
?>
您的重定向函数不正确:$encrypt_Submitted_Password
和$SQL_Password
不在函数范围内,因此它将返回通知错误,但您可以为此使用global:
function redirect(){
global $encrypt_Submitted_Password, $SQL_Password
if ($encrypt_Submitted_Password!=$SQL_Password) {
return false;
}else{
return true;
}
}
或者您可以将这两个变量作为参数传递给函数。
正如@Guilleva所说,你在实例化之前调用它:
您的代码应该如下所示:
<?php
function redirect(){
if ($encrypt_Submitted_Password!=$SQL_Password) {
return false;
}else{
return true;
}
}
$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'];
if (redirect()==true){
header('location:http://google.com');
}else{
echo "password doesnt match";
}
#Lets CLose All The MySql Connection
$result->free();
$con->close();
?>
我已经检查了你的代码,并在所有变量加载后带来了头命令。它现在在我的尽头工作。我想你在它准备好之前调用了$SQL_Password变量。请看看,让我知道它是否有效。
<?php
$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>";
if ($encrypt_Submitted_Password!=$SQL_Password) {
echo "Please check your Password";
}
elseif ($encrypt_Submitted_Password == $SQL_Password) {
header('location:dashboard.php');
}
#Lets CLose All The MySql Connection
$result->free();
$con->close();
?>
在设置$encrypt\u Submitted\u Password和SQL\u Password之前调用redirect()函数。初始化后移动“ifs”。你必须宣布它们是全球性的。或者更好,将变量作为参数传递
我正在尝试将所有http流量的重定向配置为仅重定向到https。我的配置如下 我们使用的是弹性负载均衡和 EC2 实例 在这种情况下,已配置应用程序负载均衡器。 后端服务器正在使用 Nginx 在端口 443 上工作 为 http 到 https 重定向配置了 Nginx 重定向规则 为端口 80 和 443 配置了 ELB 侦听器 在支持的服务器和 ELB 中都安装了 SSL 证书 我的问题是,
我使用的是python版本3.5.2,打印功能不适合我。这是代码。我收到一个错误,说:“调用打印时缺少前置词” 谢谢
我不知道在modelAndView中发布后如何重定向 我该怎么做?
完成注销后,Azure注销页面不会重定向用户。它只返回以下信息: 你注销了你的账户。关闭所有浏览器窗口是个好主意。 我尝试了不同的注销URL,我发现: > https://login.microsoftonline.com/MY_TENANT/oauth2/logout?post_logout_redirect_uri=https://micway.com.au/ https://login.mi
我想将任何不安全的请求重定向到https,并确保url始终使用“www”。这就是我所拥有的,但似乎不起作用。我错过了什么?
我正在尝试在我的应用程序中正确设置sentry软件包。 我可以登录一个用户进出和保护路由,但我似乎不能得到正常工作。我的理解是,用户在被引导到登录页面之前,会被带回到他们最初调用的路由。目前,它只是继续重定向到默认页面。 在我的路线上。php我已设置以下组: 在这个组中,我已经放置了所有受保护的路由。 在我的过滤器里。php我有以下过滤器: 路由::过滤器('sentryGuest',函数(){