- PR -

phpの$_POSTが受取れない

投稿者投稿内容
tuchida
大ベテラン
会議室デビュー日: 2006/08/06
投稿数: 125
投稿日時: 2007-11-22 10:13
お世話になっております。

この会議室でよいのかどうかわかりませんが
お知恵を拝借したく投稿します。

phpでの$_Postの内容が受取れなくて困っています。
確認画面なのでTYPE="HIDDEN"なのですがどうしても受取れません。

システムはSuSELinux10.0
Apache2.XX(詳細がわからなくてすみません)
PHP4.0です。

具体的には以下の通りです。

<FORM method="POST" action="php/Order.php">
<INPUT TYPE="HIDDEN" name="prm01" VALUE="DspMail"><BR>
<INPUT TYPE="HIDDEN" Name="prm02" VALUE="DspYubin1"><BR>
<INPUT TYPE="HIDDEN" Name="prm03" VALUE="DspYubin2"><BR>
<INPUT TYPE="HIDDEN" name="prm04" VALUE="DspJyu1Name"><BR>
<INPUT TYPE="HIDDEN" name="prm05" VALUE="DspJyu2Name"><BR>
<INPUT TYPE="HIDDEN" name="prm06" VALUE="DspJyu3Name"><BR>
<INPUT TYPE="HIDDEN" name="prm09" VALUE="DspTEL"><BR>
<INPUT TYPE="HIDDEN" name="prm10" VALUE="DspFAX"><BR>
<INPUT TYPE="HIDDEN" name="prm07" VALUE="DspKana" ><BR>
<INPUT TYPE="HIDDEN" name="prm08" VALUE="DspName" ><BR>
<INPUT TYPE="HIDDEN" name="prm11" VALUE="DspCount"><BR>
<INPUT TYPE="HIDDEN" name="prm12" VALUE="DspTanka"><BR>
<INPUT TYPE="HIDDEN" name="prm13" VALUE="DspGokei"><BR>
<INPUT TYPE="HIDDEN" name="prm14" VALUE="DspSoryo"><BR>
<INPUT TYPE="HIDDEN" name="prm15" VALUE="DspAllTotal"><BR>
<BR>
<INPUT TYPE="Submit" name="Order" VALUE="ご注文">
<INPUT TYPE="Reset" name="Reset" VALUE="キャンセル">
</FORM>
kalze
ぬし
会議室デビュー日: 2003/10/23
投稿数: 406
お住まい・勤務地: 東京・東京
投稿日時: 2007-11-22 11:54
PHP側で受け取っている処理も記載してください
また上記HTMLと受け取っているPHPのフォルダ構成も記載してください


$_Postと書かれていますが、PHPの実際のソースでは$_POSTとすべて大文字になっていますか?
tuchida
大ベテラン
会議室デビュー日: 2006/08/06
投稿数: 125
投稿日時: 2007-11-22 15:31
すみません。

受取っているほうは以下の通りです。

$Mail = $_POST["prm01"];

$Yubin1 = escapeshellcmd($_POST["prm02"]);
$Yubin2 = escapeshellcmd($_POST["prm03"]);
$Jyu1 = $_POST["Jyu1"];
$Jyu1Name = escapeshellcmd($_POST["prm04"]);
$Jyu2 = $_POST["Jyu2"];
$Jyu2Name = escapeshellcmd($_POST["prm05"]);
$Jyu3Name = escapeshellcmd($_POST["prm06"]);
$Kana = escapeshellcmd($_POST["prm07"]);
$Name = escapeshellcmd($_POST["prm08"']);
$TEL = escapeshellcmd($_POST["prm09"]);
$FAX = escpaeshellcmd($_POST["prm10"]);
$Count = escapeshellcmd($_POST["prm11"]);

一部("Jyu1","Jyu2")間違いがありますが上記の通りです。
上記のHTMは別のphpプログラムで出力しています。
テンプレートみたいなものがありますが
TMLと受取る側のPHPとはすべて同一のフォルダにあります。
shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2007-11-22 16:13
引用:

tuchidaさんの書き込み (2007-11-22 15:31) より:
上記のHTMは別のphpプログラムで出力しています。
テンプレートみたいなものがありますが
TMLと受取る側のPHPとはすべて同一のフォルダにあります。


入力フォームのURLから相対的に「php/Order.php」の位置に、このスクリプトを置いているということでよろしいんですよね?

#テンプレートの位置は無関係なので(汗

スクリプトに(実行時にエラーになる)typoが2箇所ありますが、それは転記する際のミスということでよろしいですね?

この状態で「print $Mail;」などとしても値がないとなるとかなり不思議な現象なのですが、簡単なフォーム入力→表示だけのスクリプトでは問題ないですか?


(追記)
 あぁ・・バージョンの確認が遅れた(汗

 4.0ですね?スーパーグローバルは4.1以降で使用可能になったハズです。$prm01とかで取得しないとダメではないでしょうか?

  http://www.php.net/manual/ja/language.variables.external.php

[ メッセージ編集済み 編集者: shimix 編集日時 2007-11-22 16:20 ]
tuchida
大ベテラン
会議室デビュー日: 2006/08/06
投稿数: 125
投稿日時: 2007-11-22 17:24
色々とご指摘有難う御座います。

phpinfoでphpのバージョンを調べたら4.4.0でした
また$をつけても読み込めませんでした。
末記人
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 233
お住まい・勤務地: あわにこ
投稿日時: 2007-11-22 17:55
こんちは

コード:
print "<pre>";
print_r($_POST);
print "</pre>";



をどこか適当な場所に入れるか

コード:
<?php
print "<pre>";
print_r($_POST);
print "</pre>";
?>


を適当なファイル名.phpで保存してポスト先にしてみてください。

どこかで unset($_POST);
とかやってないですよね?(w
tuchida
大ベテラン
会議室デビュー日: 2006/08/06
投稿数: 125
投稿日時: 2007-11-22 18:56
コード:

print "<pre>";
print_r($_POST);
print "</pre>";



をどこか適当な場所に入れるか

コード:

<?php
print "<pre>";
print_r($_POST);
print "</pre>";
?>


を適当なファイル名.phpで保存してポスト先にしてみてください。


結果として以下の結果です。

Array
(
[prm01] => XXXXXXXX@yahoo.co.jp
[prm02] => 168
[prm03] => 0063
[prm04] => 13
[prm05] => XX区XX2丁目10番
[prm06] => XXXXXXXX103
[prm09] => 090-XXXXXX-XXXX
[prm10] =>
[prm07] => XXXX XXXXXX
[prm08] => XXXX XXXX
[prm11] => 3
[prm12] => 2000
[prm13] => 6000
[prm14] => 500
[prm15] => 6500
[Order] => ご注文
)

入っているようですが?.....


どこかで unset($_POST);
とかやってないですよね?(w
[/quote]

今回phpのプログラムを作るのが始めてなので知りません。
(入れていません)


[ メッセージ編集済み 編集者: tuchida 編集日時 2007-11-22 18:58 ]

[ メッセージ編集済み 編集者: tuchida 編集日時 2007-11-22 18:59 ]
shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2007-11-22 19:04
4.4.0ですか。まぁそうでしょうね。

$Mail = $_POST["prm01"]; の直後に print $Mail . ":" . $_POST["prm01"]; などと挿入してみては?

#何しろ不思議な現象なので・・

スキルアップ/キャリアアップ(JOB@IT)