2012-01-10 11 views
-2

私はjavascriptについてよく知らない。私は好きなボタンを持っています。AJAXで整数値を送信

<a href="" onClick="begen(<?php echo $post->ID; ?>); return false;">LIKE</a> 

そして、POSTヘッダとしてbegen.phpするポストのIDを送信

function begen(id) 
{ 
    $.ajax({ 
     type:"POST", 
     url:"begen.php", 
     data:"id="+id, 
     cache:false 
    }); 
} 

begen()。私はそれをテストする場合

私はbegen(3) "それは整数ではありません" を返す、セキュリティ

if(!is_integer($_POST["id"])) 
    die("It's not an integer"); 

ためbegen.phpにis_integer()でそれをチェックしています。私はなぜそれが(3)整数ではないのか分かりません。


http://forum.jquery.com/topic/ajax-sending-json-data-with-boolean-value#14737000000976384

HTTP is a text protocol with no concept of bools or ints, so everything needs to be stringified. The stringification of false is certainly not 0. 

すべてが文字列の場合、どのように私はidがすべてGETPOST引数は次のようにスクリプトに提供され、本当にID

+2

-1:でも大フォントノートで右上部に、この質問に答える機能、のドキュメントを見て気にしませんでした。 –

+0

はい、**あなたの答え** – Eray

+0

はい、これは私のコメント**にも言った。 –

答えて

2

であることを確認することができます文字列is_numericをお探しですか?


次回は、ここに投稿する前にドキュメントをお読みください。

  • is_integerのマニュアルページは言う:

    この関数はの別名である:is_int()

  • is_intのマニュアルページは言う:

    変数が数値または(常に文字列である、そのようなフォーム入力など、)数値文字列であるかどうかをテストするには、is_numeric()を使用する必要があります。

+0

はい私はそれを探しています。返信ありがとうございました:) – Eray

+0

編集用:私はJSに問題があると思うので、PHPドキュメントを読まなかったのですが、 – Eray

+0

非常に初期のデバッグステップとして、_every関数のドキュメントを読む必要があります。 –