gpt4 book ai didi

php - 动态验证表单数据

转载 作者:行者123 更新时间:2023-12-02 18:57:10 25 4
gpt4 key购买 nike

我的网站中有一个表单字段,我需要知道用户想要使用的电子邮件是否尚未被其他用户使用。

我正在使用 JavaScript 和 PHP,但可以使其工作。

function validateEmail(){
//testing regular expression
var a = $("#email").val();
var filter = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$/;
//if it's valid email
if(filter.test(a)){
if($("#email").val() != ""){
$.getScript("http://localhost/sisdelivery/validaEmail.php?&email="+$("#email").val(), function(){
if(resultadoEmail["email"] != ""){
email.addClass("error");
emailInfo.text("Email ja cadastrado!");
emailInfo.addClass("error");
return false;
}
else{
email.removeClass("error");
emailInfo.text("Email OK");
emailInfo.removeClass("error");
return true;
}
}
}
}
//if it's NOT valid
else{
var valEmail = $("#email").val();
if(valEmail == ""){
email.addClass("error");
emailInfo.text("Favor digitar um email!");
emailInfo.addClass("error");
return false;
}
else{
email.addClass("error");
emailInfo.text("O email digitado e invalido");
emailInfo.addClass("error");
return false;
}
}
}

在数据库中查找数据的 PHP 代码:

<?php
include "conecta.php";
$email = $_GET['email'];

$consulta = "SELECT * FROM usuarios WHERE email = '$email';";
$result = mysql_query($consulta);
$num = mysql_num_rows($result);

if($num == 0)
echo "var resultadoEmail = { 'email' : '' }";

else{
while($row = mysql_fetch_object($result)){
$email = $row -> email;
}
echo "var resultadoEmail = { 'email' : '$email' }";
}
?>

我收到错误Uncaught SyntaxError: Unexpected token },但找不到问题出在哪里。

最佳答案

首先,我只想告诉您,您的代码存在安全风险。这一行:

$email = $_GET['email'];
$consulta = "SELECT * FROM usuarios WHERE email = '$email';";

允许某人对您的数据库运行 sql 并检索数据。这就是所谓的 sql 注入(inject)。您至少应该在进行查询之前验证您的电子邮件。

关于php - 动态验证表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15223471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com