• 締切済み

GETはできるがPOSTができない、、、

PHPの勉強を始めたのですが、困ってるので教えてください。 HTMLのformタグでmethod="GET"では、PHPへデータが渡るのですが、"POST"ではデータが渡りません。 このような場合、どのような原因が考えられるのでしょうか? 環境は OS: WindowsXP(SP2 PHP: 4.3.10 Apache: 2.0.52 すべてSJISで統一しています。 よろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

どういうソースでsubmitして、 どうやって受けているかによりますね。 初歩的なところだと以下2点。 1)mothodにpostと書いてないから。 2)$_POST["hoge"];でうけてないから

ashiken2002
質問者

お礼

フォーム側のコードを見直して、 <form action="post.php" method="post"> に変更したら、POSTでデータが渡るようになりました。 enctype="text/plain" が余分だったようです。 ありがとうございました。

ashiken2002
質問者

補足

>どういうソースでsubmitして、 こうゆうフォームからsubmitして <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja_JP" xml:lang="ja_JP"> <head> <title> </title> </head> <body> <form action="post.php" method="post" enctype="text/plain"> <input type="text" name="text1" value="" size="40" maxlength="40"/> <input type="submit" name="s1" value="送信"/> </form> </body> </html> >どうやって受けているかによりますね。 <?php echo "入力されたデータは「" . $_POST['text1'] . "」です。"; ?> これで、データを受けてるだけなんですが、データが渡りません。 ちなみに、Eclipse3.0 + PHPEclipseでコードを書いてます。 よろしくお願いします。

関連するQ&A

  • GETやPOSTについて

    教えてください。 PHPやVbscriptなどでformタグにmethod="post"と書くのと、onclick="…"でJavascriptの中でsubmitするのと どのように違い、使い分ければ良いのでしょうか? Javascriptの記述で入力内容をチェックするような箇所は別にして、何か使い分けられるような ことはあるのでしょうか? Formのデータ量によって?使い分けるなど。 宜しくお願いします。

  • CGI:method="post"でもGETになる

    CGIで標準入力によりフォームデータを取得できないため、環境変数%ENV内の値を 調べましたところ、入力フォーム(html)のformタグでmethod="POST"と明示しているにも 拘らず、REQUEST_METHODの値がGETになっており、POST用のCONTENT_LENGTHも GET用のQUERY_STRINGも共に空になっております。 htmlでmethod="GET"と指定した場合には、REQUEST_METHODの値は正しくGETになり QUERY_STRINGからフォームデータを取得できます。 同じCGIをPC上のApache2.4でテストした結果、REQUEST_METHODはhtmlのmethod=~で 指定した通り正しくPOSTまたはGETとなり、それぞれフォームデータを 取得できることを確認いたしております。 この点についてプロバイダに問合せいたしましたが、サポート対象外ということで、 回答を得ることができませんでした。 このような現象の原因について、お心当たりのある方がおられましたら、 ご教示いただけないでしょうか、お伺いいたします。 (1)ホスト動作環境 a.CGIサーバ:Apache b. perl 5.10系 (2)PC動作環境 a.OS: Windows 7 b.ブラウザ: Internet Eexplorer 11 c.CGIサーバ: Apache 2.4 d. Activeperl 5.20

    • 締切済み
    • CGI
  • POSTにしてもurlにデーターが

    HTMLのformでmethod="GET" PHPへデータ受け渡しOKですが、 method="POST"にするとNGです。 POSTにしてもデータがURLに載っている状態なので 送信側formでPOSTになっていないとおもうのですが なぜでしょうか??

    • 締切済み
    • PHP
  • [HTML]FormのGETとPOSTについて

    Formタグで下記の場合(GET)は次ページへ遷移しますが <FORM name="form1" action="xxxxx.html" method="GET"> 下記の場合(POST)だと <FORM name="form1" action="xxxxx.html" method="POST"> 「ページを表示できません」のエラー(HTTP 405 - 許可されていないリソースです。) になってしまいます。 当方、環境はIIS5.1です。 この現象ご存知の方がいましたら、ご支援願います。 以上、宜しくお願い致します。

  • $_POSTのものを$_GETとして使うのはなぜ?

    http://www.phppro.jp/school/phpschool/vol19/2 こちらの講座にあるサンプルコードで分からないところがあります。 schedule_edit.phpのサンプルでは if (isset($_POST["year"]) && is_numeric($_POST["year"]) && $_POST["year"] > 2000) { $year = $_POST["year"]; <form action="schedule_edit.php" method="post"> <input type="text" name="year" id="schedule-year" value="<?php print(htmlspecialchars($year, ENT_QUOTES)); ?>" /> <label for="schedule-year" id="label-year">年</label> formで入力されたデータはhtmlspecialchars($year, ENT_QUOTES)の$yearに格納され、 $_POST["year"]としてデータが渡り、 php側で$year = $_POST["year"];のように$_POST["year"]のデータが$yearに格納し直されています。わざわざ格納し直す理由も分からないのですが、一番知りたいところは schedule_list.phpのサンプル内ではPOSTでなくGETで渡されているところです。 if ($schedule_date == date("Ymd", mktime(0, 0, 0, $_GET["month"], $_GET["day"], $_GET["year"]))) $_POST["day"]ではなぜだめなのか分かりません。 この$_GET["year"]はschedule_edit.phpの$_POST["year"]を見ているわけではないのでしょうか。

    • ベストアンサー
    • PHP
  • POSTとGETを利用しようと

    サブミットのときにはgomiのデータが$_POST['gomi']にセットされキャンセルのときにはgomiのデータが$_GET['gomi']にセットされるようにしたいのですが x.html: <form action="x.php" method="post"> <input type="text" name="gomi"/> <input type="submit" value="set"/> </form> <p><a href="x.php">cancel</a></p> ではもちろんcancelをクリックしても$_GET['gomi']にgomiのデータがセットされません どうしたらできるでしょうか?

    • ベストアンサー
    • PHP
  • GETとPOSTを同時利用したい

    wordpressで下記のようにPOSTを使用して遷移先のメールフォームにデータを渡しています。 コードの作成は(http://blog.goo.ne.jp/xmldtp/e/0884dbe92721ab84cb27d212ca631094)を参考にしました。 <a href="" onclick="document.mail_form.submit();return false;" > <img src="@@@.png" alt="お問い合わせフォーム"> </a> <form action="<?php echo get_permalink( @@@ ); ?>" method='post' name="mail_form" target="_blank"> <input type='hidden' name='post_id' value="<?php echo $post->ID; ?>"> </form> これをそのまま流用し、<form>内の遷移先URLに『?view=english』を追加して英語版での表示切替をしようとしたのですが、これをつけるとPOSTの情報が遷移先に渡らなくなりました。 <form action="<?php echo get_permalink( @@@ ); ?>?view=english" method='post' name="mail_form" target="_blank"> <input type='hidden' name='post_id' value="<?php echo $post->ID; ?>"> </form> どのようにすればPOSTの内容を維持したまま遷移先URLにGETの文字列を追加させることができますか?

    • ベストアンサー
    • PHP
  • $_POST,$_GETの値が空...

    はじめまして。まだまだPHP初心者なのですが.. PHP Ver 4.3.2 にて、$_POST 、 $_GET の値がどうしても 受け取れないのですが、何か設定がおかし いのでしょうか... ちなみに、register_global は OFF です。 GET は URL http://***.com/xxx.php?ID=aaa echo $_GET["ID"]; print_r ( $_GET ); POSTは、通常通り form の method を POSTに設定して 受け取っていますが、どちらにしても結果は、何も表示されません。 どなたか解決方法をご教授下さい。 また、既出でしたら申し訳ございませんがご指摘下さい。

    • ベストアンサー
    • PHP
  • POSTで送りたい

    PHP初心者です HTMLタグが混じっ文字をHTMLごとPOSTで次ページに送る方法を教えてください ここでは<p><a href="./">TOPに戻る</a></p>をポストしたいです <form action = "test_view.php" method = "post" > <input type="text" name="<p><a href="./">TOPに戻る</a></p>"> <input type="submit" name="" value="送信"> </form> よろしくお願いします

    • ベストアンサー
    • PHP
  • フォームのPOST情報が渡らない?

    こんにちは。 PHPを使ってフォームからの入力情報をPOSTで受け取り確認画面を出す、というような機能を作成しているのですが、たまにデータが受け取れずに初期画面へ戻ってしまう現象が起こります。 POSTではなくGETにするとキチンと送信出来ているようなのですが、情報量やその他の面からGETを使うことは避けたいと思っています。 POSTされた情報が受け取れないという現象は、再現が難しく、出るときは出るし出ないときはまったく出ません。 これまで調べた回避方法で以下の2つは試してみましたが、どちらも現象を止めるには至りませんでした。  ・<form>タグに『 enctype="multipart/form-data"』を追加する  ・<input type="hidden" name="spoof">を追加する また、マルチバイト文字をフォームに入力しない場合は、現象がまったく再現しないようでした。 この現象の回避策を何かご存知の方、アドバイスよろしくお願いいたします。 ------使用環境-------------- OS   :Windows2000 ブラウザ:Internet Explorer 6.0.2800.1106(更新バージョンSP1) Apache :Server version: Apache/1.3.29 (Unix) PHP   :PHP 4.3.4 (cli) (built: Dec 1 2003 18:13:50) ------POST情報取得処理------ function get_post_vers(){ foreach($_POST as $key => $val){ $GLOBALS["$key"] = $val; } return; }

    • ベストアンサー
    • PHP

専門家に質問してみよう