プロが教える店舗&オフィスのセキュリティ対策術

POST以外で値をほかページに送信する方法はないでしょうか?
受け取るページは
$post = $_POST['post'];
で受け取るようにしたいです
よろしくお願いします!

A 回答 (9件)

ご質問の意図がわからないですが、GET?

    • good
    • 0
この回答へのお礼

FORMを使わずにPOST送信できないでしょうか?という事です

お礼日時:2006/03/10 14:47

POST以外ということは、URLを直打ちした場合でしょうか?



POSTでデータを渡す場合
---------------------------------------------------------------------
<form action="http://hoge.net/test.php" method="post">
<input type="hidden" name="id" value="1234">
<input type="hidden" name="name" value="abc">
<input type="submit" value="送信">
</form>

この場合hiddenのデータ等は$_POSTに格納されます。
print_r関数などでデバッグすると分かるかとおもいますが。
---------------------------------------------------------------------

GETでデータを渡す場合
---------------------------------------------------------------------
<form action="http://hoge.net/test.php" method="get">
<input type="hidden" name="id" value="1234">
<input type="hidden" name="name" value="abc">
<input type="submit" value="送信">
</form>

または
http://hoge.net/test.php?id=1234&name=abc

この場合hiddenのデータ、URLの引数は$_GETに格納されます。

$_GET['id'] の中には"1234"
$_GET['name'] の中には"abc"
という感じでデータが入ります。

---------------------------------------------------------------------
    • good
    • 0
この回答へのお礼

FORMを使わずにPOST送信できないでしょうか?
ちなみにGETじゃないです( ̄Д ̄;;

お礼日時:2006/03/10 14:48

ひょっとしたら



include "他のページ.php";
exit;

で出来たりして
    • good
    • 0
この回答へのお礼

無理でした(´ヘ`;)

お礼日時:2006/03/10 14:49

POSTを使わなければ$_POST[○○]で受け取ることは出来ません

    • good
    • 0
この回答へのお礼

やはり受け取れませんかね( ̄Д ̄;;
ヘッダーに関数をかきこんでも無理ですかね?

お礼日時:2006/03/10 14:50

enshiさん、こんにちは。




他の方が戸惑われているように質問の意図が分かりません。

まず、POSTでの送信をしたくない理由はどういったものでしょうか。

$_POSTというのは通常では
「POSTされた値を受け取るための配列」
です。


以前$_POSTで値を取得していたが、POST送信の見直しをすることとなり、
プログラムの変更が必要になったということでしょうか。

ですが、送信データの受け取りは関数化しているわけではなく、直接
$post = $_POST['post'];
といった形で受け取っていたため困っている。
全てを変更するのにかなりの時間がかかるため、
POST送信という方法はやめたいが、$_POSTでの値の受け取りは残したい・・・
少し手を加えるだけで変更できませんか?

といったことだと推測しますが、あっていますでしょうか^^;


GETで送信されたものを
$_POST = $_GET;
$post = $_POST['post'];
とすれば$_POSTで受け取れます。


また、スーパーグローバル配列(変数)を扱った値の取得は関数化しておくととても便利です。
バージョンアップに伴い、スーパーグローバル配列が変更されるということもあります。

実際、4.10からスーパーグローバル配列が変更されました。
これにより以前スーパーグローバル変数として使われていた
$HTTP_○○_VARS
はグローバルスコープではなくなり、変数のスコープに引っかかるようになったと思います。

例として以下のような関数です。
-------------------------------------------------
// サーバーのPHPのヴァージョンを取得する関数
function get_php_version() {
return phpversion();
}

// POST変数を取得する関数
function get_POST($key) {
if($php_version >= "4.1.0") {
return (isset($_POST[$key])?$_POST[$key]:null);
} else {
return (isset($HTTP_POST_VARS[$key])?$HTTP_POST_VARS[$key]:null);
}
}
-------------------------------------------------
    • good
    • 0
この回答へのお礼

受け取る側の書き換えは一切行わずに送信したいんです><
やはり無理でしょうか・・

お礼日時:2006/03/10 14:51

フォームを使わずに引数をどうやって渡すつもり


なのか甚だ疑問ですが、スタティックなデータを
postするだけならsystem系の関数で、
wgetなどをpostオプションつきで実行してやれば
いけると思います。
    • good
    • 0
この回答へのお礼

SYSTEM関数もPHPがセーフモード起動なのでしようできません(ノД`)

お礼日時:2006/03/11 21:42

>FORMを使わずにPOST送信できないでしょうか?


それはPHPじゃなくてブラウザ側の問題ですよね?
それともPHPから他のPHPに対してリクエストを送りたいと言うことですか?

>受け取る側の書き換えは一切行わずに送信したいんです
RFC1867に規定されている方式でリクエストを投げればPHPが勝手に$_POSTに入れてくれるはずです。

何をしたいのかもう少し具体的に書くと回答が得やすいと思いますよ。
    • good
    • 0
この回答へのお礼

ブラウザの問題ではなく
ページにアクセスしたと同時にPOST送信したいのです

お礼日時:2006/03/11 21:41

参考URLの「POSTメソッドで他のサイトに情報を送る」


の様な感じでしょうか。

参考URL:http://www.stackasterisk.jp/tech/php/searchActio …
    • good
    • 0
この回答へのお礼

これです!
ありがとうございました

お礼日時:2006/03/17 18:05

だから・・・



どのようなデータをポストするのでしょうか?
スタティックなデータであれば、POSTする必要は
まったくなく最初からPHPでデータを組み込んだ上で
HTMLをはきだせばすむわけですから・・・

具体的に何をどうしたいからどのようなデータを
POSTするのか書かないと、いっこうに進展がないと
思います。

それと事案にもよりますが、明らかにこれはPOST
でなにかを送るような案件ではないと思います。
POSTがあればなんでもできると勘違いなさっている
と思いますので、GETでもcookieでもなんでも
活用すればよろしいかと。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!