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