php - 创建登录表单

标签 php html mysql authentication mysqli

我正处于使用 php 创建登录表单的早期阶段。

这是我到目前为止所做的代码。我正在使用一个使用 mysql 函数的教程。但是我需要使用 my_sqli。我想这可能是我遇到问题的地方。当我点击提交按钮时,它只是刷新页面,我需要它显示“确定”。

这包含在另一个页面上,因此它还有其他内容,例如我的数据库连接。这些都很好并且工作正常。

<?php

if (isset($_POST['email'])&&isset($_POST['password'])) {
	$email = $_POST['email'];
	$password = $_POST['password'];

	$password_hash = md5($password);

	if (!empty($email)&&!empty($password)) {
		
		$query = "SELECT 'userID' FROM registeredusers WHERE email='$email' AND  password='$password_hash'";
		if ($query_run = mysqli_query($query)) {
			$query_run_rows = mysqli_num_rows($query_run);
				if ($query_run_rows==0) {
					echo 'Invalid email or password.';
				} else {
					echo 'OK.';
				}

		}

	} else {
		echo 'Please enter email and password';
	}
}

?>

					<form action="<?php echo $current_file ?>" method="POST">
					<p>Email: <input type="email" name="email"></p> 
					<p>Password: <input type="password" name="password"></p>
					<input type="submit" value="Log In">
					</form>

最佳答案

您的查询基本上运行不正常。

mysqli_query 应该有 2 个参数。第一个参数是连接到数据库,第二个参数是查询本身。所以,如果您在本地主机服务器中,只需执行此操作

$connect=mysqli_connect('localhost','root','','database_name');

$query = "SELECT userID FROM registeredusers WHERE email='$email' AND  password='$password_hash'";
if ($query_run = mysqli_query($connect,$query)) {
................................
...............................


}

这应该有效

关于php - 创建登录表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27304358/

相关文章:

javascript - 如何创建一个非常简单的 webhook?

javascript - 如何使用 jquery 选择钻取按钮,以便我可以执行单击事件?

php - 表格中玩家代号的数量?

mysql - innobackupex - 恢复 mysql 备份后服务器无法启动

javascript - Aurelia PHP Post 请求为空 $_POST

php - 无法通过 jquery Ajax 在 laravel 5 中发布

PHP实时聊天与ajax轮询

html - Safari HTML5 多文件上传错误的任何解决方法?

java - iText:为什么无序 html 项目符号列表的最后一项没有显示在我的 PDF 上?

php - 如何从 laravel 中的两个不同页面更新一个表