Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php电子邮件帐户验证_Php_Mysql - Fatal编程技术网

Php电子邮件帐户验证

Php电子邮件帐户验证,php,mysql,Php,Mysql,首先,您可能没有将mysql\u查询作为一个函数,因为PHP 5.5.0中不推荐使用此扩展。它已从PHP7中删除。您将希望使用mysqli扩展。看见这与mysql扩展非常相似,但“改进了”。您需要修改代码以使用mysqli扩展。另外,请查看准备好的语句:。您将希望使用准备好的语句来防止SQL注入,即有人向您的查询中注入恶意值。出于安全原因,使用未过滤的$u POST数据是不好的,因为它可能导致SQL注入等。您将希望看到:对于筛选$POST数据的各种方法。在所有的$查询中,您更喜欢这样使用 $qu

首先,您可能没有将mysql\u查询作为一个函数,因为PHP 5.5.0中不推荐使用此扩展。它已从PHP7中删除。您将希望使用mysqli扩展。看见这与mysql扩展非常相似,但“改进了”。您需要修改代码以使用mysqli扩展。另外,请查看准备好的语句:。您将希望使用准备好的语句来防止SQL注入,即有人向您的查询中注入恶意值。出于安全原因,使用未过滤的$u POST数据是不好的,因为它可能导致SQL注入等。您将希望看到:对于筛选$POST数据的各种方法。

在所有的$查询中,您更喜欢这样使用
$query=mysql_query(“从Email='“$Email.”的用户中选择*”

将第12行的
mysqli\u query
替换为
mysqli\u query
,因为
$email
是从
$\u POST
中直接注入mysql代码。这是一种糟糕的做法。我错了,代码注入很危险。因此,您必须使用user9189147的正确注释来保护代码。
<?php

ini_set('display_errors', 1); ini_set('log_errors',1); error_reporting(E_ALL); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

include 'dbconnection.php';

$first = $_POST['fname'];
$last = $_POST['lname'];
$email = $_POST['email'];
$password = $_POST['password'];

$query = mysql_query("SELECT * FROM users WHERE Email='$email'");
if(mysql_num_rows($query) > 0){
   echo "That account already exists!"; 
}else{

$query = mysqli_query("INSERT INTO users (FirstName, LastName,Email,Password) values ('$first','$last','$email','$password')");

header("location: signedup.php");
}

?>