php 登录不显示 true 或 false

标签 php mysql sql-server

<?php
session_start();
$errmsg_arr = array();
$errflag = false;
// configuration
$dbhost 	= "localhost";
$dbname		= "members";
$dbuser		= "root";
$dbpass		= "";

// database connection
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);

// new data

$email = $_POST['uemail'];
$password = $_POST['upassword'];

if($email == '') {
	$errmsg_arr[] = 'You must enter your Email';
	$errflag = true;
}
if($password == '') {
	$errmsg_arr[] = 'You must enter your Password';
	$errflag = true;
}

// query
$result = $conn->prepare("SELECT * FROM users WHERE email AND password");
$result->bindParam($email);
$result->bindParam($password);
$result->execute();
$rows = $result->fetch(PDO::FETCH_NUM);
if($rows > 0) {
header("location: newfeeds.php");
}
else{
	$errmsg_arr[] = 'Email and Password are not found';
	$errflag = true;
}
if($errflag) {
	$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
	session_write_close();
	header("location: index.php");
	exit();
}

?>
<div id="openModal" class="modalDialog">
   <div>
      <a href="#close" title="Close" class="close">X</a>

       <?php
        if( isset($_SESSION['ERRMSG_ARR']) && is_array      ($_SESSION['ERRMSG_ARR']) && count($_SESSION['ERRMSG_ARR']) >0 ) {
	echo '<ul style="padding:0; color:red;">';
	foreach($_SESSION['ERRMSG_ARR'] as $msg) {
		echo '<li>',$msg,'</li>'; 
	}
	echo '</ul>';
	unset($_SESSION['ERRMSG_ARR']);
        }
       ?>
	<form class="pop" method="post" action="login.php">
       
        <p class="login">LOGIN</p>
        <div class="form-group">
              <div class="left-inner-addon "><i class="fa fa-envelope-o fa-fw"></i>
           <input type="email" name="uemail" class="form-control" id="email" placeholder="Email" required>
                  </div>
        </div>
            <div class="form-group">
          <div class="left-inner-addon"><i class="fa fa-key fa-fw"></i>
            <input type="password" name="upassword" class="form-control" id="password" placeholder="Password" required>
                </div>
        </div>
        <p>Forgot Password?</p>
      
        <div class="form-group">
        <button class="btn btn-default" role="button" name="login" id="login">LOGIN</button>
        </div>
    </form>   
</div>
    </div> 
      
   
<!-- form-->
    

CREATE TABLE `users` (
  `memberID` int(5) NOT NULL,
  `username` varchar(65) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `password` varchar(255) DEFAULT NULL,
  `gender` varchar(200) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

我发现到处都有同样的登录问题,不显示真实登录或错误登录。我已经输入了所有这些答案,但没有用。大多数情况下,注册器在加密密码方面工作得很好,并且它很好地存储在数据库中。关于登录表单,听起来很疯狂,我已经发布了很多次并更正它,但我想得到正确的答案。它应该在用户登录到另一个页面后重定向,我应该知道用户登录后可以存储在同一数据库的不同表中。

EX:用于注册用户(ID、用户名、电子邮件、密码、性别)user_login 表(ID、电子邮件和密码)。我对 sql 和 php 很陌生,但仍在努力寻找好的答案。请帮助并使用我输入的相同变量。

最佳答案

请正确绑定(bind)变量。

将您的查询更改为

$result = $conn->prepare("SELECT * FROM users WHERE email = :email AND    password = :password");
$result->bindParam(':email', $email);
$result->bindParam(':password', $password);

关于php 登录不显示 true 或 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36028784/

相关文章:

PHP - 计算 MySQL 查询中的元素返回双倍的元素数

php - 根据用户选择创建 8 个具有独特 HTML 标签的变量

通过 ODBC 从 SSRS 调用 MySQL 存储过程

sql-server - 单词的 Damerau-Levenshtein 距离

Python 数据框到 SQL 查询

php - 无法在主目录中创建文件

php - 如何仅在特定页面上显示 Wordpress 二级菜单?

php - HTML 表单中的复选框数组

php - 已超出数据库中的 'max_questions' 资源

sql - 简单检查 SELECT 查询空结果