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) {});alert(link)、リンクが表示されます: example(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

送信されたポストの値は 未満link.phpでした。

を使用し$_POST['link.php']ます。

また、新しいコードで関数を使用しないでくださいmysql_*。それらはもはや保守されておらず、公式に非推奨です赤いボックスが見えますか? 代わりにプリペアド ステートメントについて学び、 PDOまたはMySQLiを使用してください。この記事はどちらを使用するかを決めるのに役立ちます。PDO を選択する場合は、ここに良いチュートリアルがあります。

于 2013-01-02T19:11:32.570 に答える