【问题标题】:"$.get(url, function (data, status){ alert(data); }" not working on mysqli"$.get(url, function (data, status){ alert(data); }" 在 mysqli 上不起作用
【发布时间】:2016-07-14 18:51:45
【问题描述】:
<script type="text/javascript">
        function signup() {
            var url = "process/sign-up-process.php?" + $("#signup-form").serialize();
            //                alert(url);
            $.get(url, function (data, status) {
                alert(data);
            });
        }
</script>

页面:process/sign-up-process.php 代码如下

<?php
require_once('connection.php');

$full_name = filter_input(INPUT_GET, 'full_name', FILTER_SANITIZE_STRING);
$email = $_GET['email'];
$email = filter_var($email, FILTER_VALIDATE_EMAIL);
$user_password = filter_input(INPUT_GET, 'user_password', FILTER_SANITIZE_STRING);

$query = "INSERT INTO registered_users_list (full_name, email, user_password) VALUES ('$full_name', '$email', '$user_password')";
$query1 = mysqli_query($conn, $query);

$count = mysqli_affected_rows($conn);
if($count == 1){
    echo "Signed up";
}else{
    echo "Sorry";
}

?>

问题出在“process/sign-up-process.php”页面,当我注释掉查询代码和

echo "一些随机文本"

然后是

警报(数据)

有效。但是当我尝试运行 INSERT 查询时它不起作用。我认为错误一定是在 PHP 改进中,即 mysqli 字符串。

【问题讨论】:

  • 您容易受到sql injection attacks 的攻击。您只是假设您的查询永远不会失败。您也不会检查您的“表格”是否正确填写,而只是尝试将收到的任何内容填充到数据库中,即使没有收到任何内容或垃圾。
  • 其实我在实际代码中使用过“filter_input()”,这里忘了提
  • 无关紧要。 ' 是电子邮件地址中的有效字符,将终止您的查询。并且 sanitized_string 对 sql 注入也没有帮助。您实际上没有数据库安全性。
  • 您查看过您的日志吗? display_erros 开启?检查mysql错误?用表单中的值检查了 sql 本身?
  • 那我还能用什么

标签: php jquery ajax mysqli


【解决方案1】:

我敢打赌,您请求的页面返回的是错误而不是文本。在 chrome 中,在发送 AJAX 请求之前按 F12 并转到 Network 选项卡。如果需要,单击 () 清除符号以清除所有条目。然后当 ajax 调用进行时检查响应。很可能是 mysqli 错误页面(Chrome 开发控制台截图:http://image.prntscr.com/image/84e59bfb9caf4c9b9dcf8b5f79844176.png

可能更好:Request Monitoring in Chrome

如果您不知道我在说什么,这是一个很棒的教程:https://www.youtube.com/watch?v=AXGB4tIRNgM

【讨论】:

  • 实际上没有记录成功保存在数据库中,但是 echo "Signed up";不工作。
  • 如果我请求的页面返回错误而不是文本,则内容不能上传到数据库中,但它会这样做
猜你喜欢
  • 1970-01-01
  • 2019-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-20
  • 2017-04-20
相关资源
最近更新 更多