たとえば、文字列または別の情報を、公開せずに別の.phpファイルに送信できます(したがって、GETではなくPOST私が知っているものに準拠)でフォームを使用せずに)。
データをユーザーに見せたくない場合は、PHPセッションを使用します。
ポストリクエストのデータは、ユーザーが引き続きアクセス可能(および操作可能)です。
チェックアウト このチュートリアル on PHP Sessions。
フォームが必要ない場合は、AJAX=を使用してPOSTリクエストを送信できます。
Jquery $。post メソッドを使用すると、非常に簡単です。
$.post('/foo.php', { key1: 'value1', key2: 'value2' }, function(result) {
alert('successfully posted key1=value1&key2=value2 to foo.php');
});
投稿するのではなく、SESSIONでデータを送信します。
session_start();
$_SESSION['foo'] = "bar";
リクエストを受信したページで、POST data(奇妙なロジック))がどうしても必要な場合は、最初からどこでも次のことができます。
$_POST['foo'] = $_SESSION['foo'];
POSTデータは、POSTで送信された場合と同じように有効になります。
次に、セッションを破棄します(または、他の目的でセッションが必要な場合はフィールドを設定解除します)。
セッションは破棄するか、フィールドを設定解除することが重要です。POSTとは異なり、SESSIONは明示的に破棄するかブラウザセッションが終了するまで有効です。実行しないと、奇妙な結果が観察される場合があります。たとえば、一部のデータのフィルタリングにsessonを使用します。ユーザーはフィルターをオンにして、フィルター処理されたデータを取得します。しばらくして、彼はページに戻り、フィルターがリセットされることを期待しますが、そうではありません。フィルターされたデータがまだ表示されています。
これらの関数のphpドキュメントを見て、それらを使用してpost reqeustを送信できます。
fsockopen()
fputs()
または、Zend_Http_Clientのようなクラスを使用します。これもソケット接続に基づいています。
また、グーグルを使用して ニートの例 を見つけました...
単に使用します:file_get_contents()
// building array of variables
$content = http_build_query(array(
'username' => 'value',
'password' => 'value'
));
// creating the context change POST to GET if that is relevant
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'content' => $content, )));
$result = file_get_contents('http://www.example.com/page.php', null, $context);
//dumping the reuslt
var_dump($result);
参照 :同様の質問に対する私の答え:
function redir(data) {
document.getElementById('redirect').innerHTML = '<form style="display:none;" position="absolute" method="post" action="location.php"><input id="redirbtn" type="submit" name="value" value=' + data + '></form>';
document.getElementById('redirbtn').click();
}
<button onclick="redir('dataToBeSent');">Next Page</button>
<div id="redirect"></div>
このメソッドを使用して、ボタン[次のページ]がクリックされたときに、「データ」が「投稿」によって「location.php」に送信される新しい非表示フォームを作成できます。