javascript→POST・GET送信→PHP内でのデータの受け取り方



javascriptで下記のようにopen()を使用し、POST送信したデータのPHP側での受け取り方

xmlhttp.open("POST","../login/logincheck.php",true);
xmlhttp.send("id="+encodeURI("saa")+"&password="+encodeURI("6"));

一応普通にPHP側では以下のように受け取ってみましたが、うまくうけとれていないようなのですが、どうしたらよいでしょうか?またGET送信の場合も教えてほしいです。

$id = $_POST['id'];
$keyword = $_POST['password'];

回答の条件
  • 1人10回まで
  • 登録:2007/01/17 01:21:16
  • 終了:2007/01/24 01:25:03

回答(3件)

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912007/01/17 02:14:58

ポイント27pt

的外れでしたらポイント不要です。


$id = $_POST['id'];

$keyword = $_POST['password'];

ではなく

$id = $_GET['id'];

$keyword = $_GET['password'];

ではないすか。


POST は Form 内で設定したものを受け取ります。

<form>
<input type="text" name="id" value="foobar">
</form>

$_POST['id'];

のような感じでしょうか。

id:Mook No.2

Mook回答回数1312ベストアンサー獲得回数3912007/01/17 09:24:48

ポイント27pt

先の回答は、まったく勘違いしていたようです。

この件に関しては、知見がないので回答ポイントはお返しいたします。


検索した中にそれらしい話があったので、一応ご参考までに。

http://www.machu.jp/diary/20050512.html

中のリンクは、リンク切れになっていましたが、下記にあリました。

XMLHttpRequestのPOSTメソッドにおけるFirefoxとIEの挙動の違い

id:GEN111 No.3

GEN111回答回数472ベストアンサー獲得回数582007/01/17 11:03:37

ポイント26pt

xmlhttp.open("POST","../login/logincheck.php",true);

の後に

xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") ;

を入れてみてください。

GET の場合は

xmlhttp.open("GET","../login/logincheck.php?id="+encodeURI("saa")+"&amp;password="+encodeURI("6"),true) ;
xmlhttp.send("") ;

のように URL の後ろにぶら下げて。

GET の場合 PHP の出力がブラウザのキャッシュに残るかもしれないので PHP の出力の前に

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: ".gmdate("D, d M Y H:i:s T", 0)) ; // 過去の日付
header("Date: ".gmdate("D, d M Y H:i:s T", time())) ; // 現在の日付

とでも入れておいてください。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません