【问题标题】:Ajax Function Not RunningAjax 函数未运行
【发布时间】:2014-03-26 09:03:02
【问题描述】:

所以我试图在我的数据库中插入一行。我正在调用一个类似 ajax 的函数来在我的表中插入一个新行。但它没有插入一行。

function showResult(first, last)
    {

    var First = first;
    var Last = last;

       if (window.XMLHttpRequest)
       {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
       }
       else
       {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
       }
       xmlhttp.open("POST","http://www.website.ca/portal/MyChapter2/cgi-bin/DetermineUser.php?FirstName="+First+"&LastName="+Last,true);
       xmlhttp.send();    

  }

这是它进入的文件,以便将行插入表中。

<?php
require_once (dirname(__FILE__) . '/../../include/Initialization.php');
require_once (PORTAL_PATH . '/include/FormLibrary.php');
require_once (PORTAL_PATH . '/include/SingleRowQuery.php');
require_once (PORTAL_PATH . '/include/Functions.php');
require_once (PORTAL_PATH . '/include/VolunteerInterests.php');
require_once (PORTAL_PATH . '/TaskManager/cgi-bin/AutoTaskFunctions.php');

$FirstName = $_POST['FirstName'];
$LastName = $_POST['LastName'];

$sql="INSERT INTO `Track_Notification`(`Track_ID`, `Track_UserID`) VALUES    ('$FirstName','$LastName')";
echo ("success");

?>

【问题讨论】:

  • 它的实际作用是什么?
  • 为什么用jQuery标记?
  • Ajax Function Not Running...那么它在网络浏览器中失败了吗?由于语法错误,它没有运行吗?你的 PHP 文件很好吗?请按照以下步骤正确调试 AJAX 问题,然后您可以正确归咎于哪些代码被破坏:stackoverflow.com/a/21617685/2191572
  • 我使用 jQuery 调用该函数。浏览器不是问题,只是代码没有执行。

标签: php jquery mysql sql ajax


【解决方案1】:

您正在执行 POST,但未通过该 POST 发送任何数据。您在 URL 中发送数据,这实际上是一种 GET 技术:

xmlhttp.open([..snip...] /DetermineUser.php?FirstName="+First+"&LastName="+Last,true);
                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

不管你使用什么 HTTP 动词,如果 URL 中有查询参数,它们就会在 $_GET 中,所以

$_GET['FirstName'];
$_GET['Lastname'];'

除此之外,您还容易受到 SQL 注入攻击,因此请尽情享受您的服务器 pwn3d。

【讨论】:

  • ops 是的,我把它改回来,把错误的代码贴在这里。如何防止sql注入攻击?
【解决方案2】:

您没有运行查询

添加

$result = mysqli_query($sql);

(或mysql_query,取决于您使用的是什么)

【讨论】:

    猜你喜欢
    • 2017-05-26
    • 1970-01-01
    • 1970-01-01
    • 2019-01-31
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 2022-06-23
    相关资源
    最近更新 更多