登录php脚本无法从db调用信息
你好。 下面我有一个登录php脚本无法从db调用信息,php,Php,你好。 下面我有一个php脚本,用来查询我的数据库并查找用户详细信息。数据库已设置,其中的数据可用。这里的问题似乎是,一旦我用用户输入的详细信息单击submit按钮,第一个if语句就无法查看电子邮件是否存在。我不知道为什么。 但这是提交表格 <form action = "submit2.php" method="Post" > <div class="row form-group"> <div class="col-md-12">
php
脚本,用来查询我的数据库并查找用户详细信息。数据库已设置,其中的数据可用。这里的问题似乎是,一旦我用用户输入的详细信息单击submit按钮,第一个if语句就无法查看电子邮件是否存在。我不知道为什么。
但这是提交表格
<form action = "submit2.php" method="Post" >
<div class="row form-group">
<div class="col-md-12">
<!-- <label for="email">Email</label> -->
<input type="text" id="email" name="email" class="form-control" placeholder="Your user name">
</div>
</div>
<div class="row form-group">
<div class="col-md-12">
<!-- <label for="subject">Subject</label> -->
<input type="text" id="password" name="password" class="form-control" placeholder="Your Password">
</div>
</div>
<div class="form-group">
<input type="submit" value="Login" class="btn btn-primary">
</div></form>
这里是submit2.php,它应该操作表单中的数据并查询数据库
<?php
session_start();
require_once('connect.php');
if(isset($_POST) & !empty($_POST)){
$useremail = mysqli_real_escape_string($connection,$_POST['email']);
$userpassword = mysqli_real_escape_string($connection, $_POST['password']);
if (empty($useremail) || empty($userpassword)){
header("Location: customerportal.php?login=empty");
exit();
}
else{
$sql = "SELECT * FROM 'USERS' where EMAIL ='$useremail';";
$emailresult = mysqli_query($connection, $sql);
$emailresultcheck = mysqli_num_rows($emailresult);
//check if email exists
if($emailresultcheck == 0){
header("Location: customerportal.php?login=invalidEmail");
}
else {
if($row = mysqli_fetch_assoc($emailresult)){
//dehash the password
$hashedPWDCheck = password_verify($userpassword,$row['ENCRYPTEDPWD']);
if($hashedPWDCheck == false){
header("Location: customerportal.php?login=passwordincorrect");
exit();
}
elseif($hashedPWDCheck == true){
$_SESSION['email'] = $email;
// header("Location: Landingpage.php");
echo "Success";
}
}
else{
header("Location: customerportal.php?login=invalid");
exit();
}
}
}
}
?>
更改此选项
$sql = "SELECT * FROM 'USERS' where EMAIL = '$useremail';";
对此
$sql = "select * from users where email = $useremail";
好的,解决了这个问题,在我的每个变量上运行var_dump(),直到我遇到sql代码输出的错误。
在线
$sql = "SELECT * FROM 'USERS' where EMAIL = '$useremail';";
我必须删除“”并替换为“`”。
这似乎解决了问题
感谢大家的帮助。执行var_转储($emailresultcheck)并共享输出。我运行了var_转储并获得了以下输出C:\wamp64\www\dhc sa\Submit2.php:16:Null,并尝试将变量名命名为camelcase,如$userEmail
$sql = "SELECT * FROM 'USERS' where EMAIL = '$useremail';";