0

我有这个脚本。

<script type='text/javascript' charset='utf-8'>
    $(window).load(function(){
        window.loadIframe = function(frame) {
           var link = $(frame).attr('src');
           $.post('link.php', {'link': link}, function (txt) {});
        }
    });
</script>

如果我替换它$.post('a.php', {'link': link}, function (txt) {});会显示一个链接: examplealert(link) (http://www.example.com/123-abcdef-0 ),好的。

然后,在 link.php 我有这个代码:

<? 
...
$link = filter_input(INPUT_POST, 'link', FILTER_SANITIZE_NUMBER_INT); 
    mysql_query("insert into prueba values ('', '$link')"); 
...
?>

当我检查数据库时,插入的值不是完整链接,是 123--------0

哪里有问题?非常感谢你。

4

2 回答 2

0

这是因为你正在使用FILTER_SANITIZE_NUMBER_INT. 从文档

删除除数字、加号和减号之外的所有字符。

于 2013-01-02T19:16:17.217 回答
-2

发送的 post 值低于link.php

使用$_POST['link.php'].

另外请不要mysql_*在新代码中使用函数。它们不再被维护并被正式弃用。看到红框了吗?改为了解准备好的语句,并使用PDOMySQLi -本文将帮助您决定使用哪个。如果您选择 PDO,这里有一个很好的教程

于 2013-01-02T19:11:32.570 回答