首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AJAX语法:这是做这件事的方式吗?

AJAX语法:这是做这件事的方式吗?
EN

Stack Overflow用户
提问于 2011-02-10 16:26:53
回答 1查看 130关注 0票数 1

我正在尝试使用AJAX检查数据库中是否已经存在一个用户。为了简单起见,我现在只检查名字和姓氏。下面是我得到的信息:

具有表单和JavaScript错误处理的.php文件:

代码语言:javascript
复制
$.get('verify_unique.php',{firstname:frm.add_fd2.value, lastname:frm.add_fd3.value},function(data){
  if (data.matches>0){
    var num_rows='1';
  }else{
    var num_rows='0';
  }
}, "json");


function check(frm) {
    var szAlert = "Invalid\n";
    var nIndex = 0;
     if (num_rows > 0) {
        nIndex++;
        szAlert += "- " +"This name already exists "+num_rows +" times\n";
     }
     if (!RequiredField(frm.add_fd1.value)) {
        nIndex++;
        szAlert += "- " +"'Title' cannot be blank\n";
     }

文件verify_unique.php:

代码语言:javascript
复制
// DATABSE PARAMETERS
$link = @mysql_connect($host,$user,$passwd);
$database=mysql_select_db($db);
$firstname=$_GET['firstname'];
$lastname=$_GET['lastname'];
$result=mysql_query('SELECT * FROM organisations WHERE FirstName="'.$firstname.'" AND LastName="'.$lastname.'"', $link);
  header('Content-Type: application/json');
  echo '{matches:'.mysql_num_rows($result).'}';
?>

当我提交表单时,它不仅没有返回AJAX警告,还跳过了对javascript的检查。不幸的是,它不会抛出任何错误。有人能看到我哪里出问题了吗?

谢谢马吕斯

编辑:当前情况:

代码语言:javascript
复制
 `$.get('verify_unique.php',{firstname:frm.add_fd2.value, lastname:frm.add_fd3.value},function(data){       if (data.matches>0){         var num_rows='1';       }else{         var num_rows='0';       }     }, "json");` 

调试器:未定义frm。frm是这个页面上唯一一个表单的名称,javascript可以调用它来执行健全性检查。verify_unique.php文件中没有任何更改

EN

回答 1

Stack Overflow用户

发布于 2011-02-10 16:54:04

危险:

代码语言:javascript
复制
$result=mysql_query('SELECT * FROM organisations WHERE FirstName="'.$firstname.'" AND LastName="'.$lastname.'"', $link);

这是对SQL注入攻击的邀请!在将名字和姓氏发送到SQL之前,您需要对它们进行转义。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4954831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档