質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

3回答

4010閲覧

POST送信して画面遷移

JanTh1989

総合スコア87

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/10/07 05:13

編集2021/10/07 09:20

前提

他社システムにURL登録を行い、他社ページ → 自ページ → 他社ページ の流れでページ遷移をします。
自ページ内では、他社ページでPOSTされた情報を解析し、その結果etcをPOST送信して他社ページにへページ遷移するという動きを作ろうとしております。

※リクエストヘッダ
Content-Type: application/x-www-form-urlencoded

質問

PHP内でPOST送信し、リダイレクトする方法はないでしょうか。

調査状況

PHPのPOST送信について、サイト検索をしてみたりはしてみました。
結果としては、file_get_contentsやfopen、curlなどのやり方が見られました。
ただ、これはページ遷移するわけではなく、別途PHPの実行結果取得のようなものという認識でおります。

ページ遷移はheader関数で行い、その上で第3引数に307を送信する方法も見られました。
ただ、これはHTMLのformのPOSTありきになっていそうに思います。

引き続き、PHP内でPOST送信し、リダイレクトする動きを調査中になります。

追記

以下のサイトで、PHPからのPOSTリダイレクトはできないという記載がありました。
https://qiita.com/okdyy75/items/fa5ca0d7ef3db9b66e54

## 追記2
他社ページ → 自ページ 1 → 自ページ2 → 他社ページ の流れにする方法が浮上中です。

1 自ページ1でPOST値を決めて、セッションに記録して自ページ2へ。
2 自ページ2でセッションのPOST値で、form内にhiddenでPOST値を設置。
3 自ページ2のサブミットでformのPOSTで設置したPOST送信

苦渋の手段なのですが・・・。
1画面で上手くいかせる方法がないか、引き続き調査中。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/10/08 04:37 編集

他社ページから自ページに、の場面で、なんらかの情報を引き継ぐかどうか次第で、用いる技術にも影響が出てきますので、明瞭化をお願いします。
guest

回答3

0

自己解決

追記2の対応を行う方針になりました。

投稿2021/10/10 05:39

JanTh1989

総合スコア87

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

PHP内でPOST送信し、リダイレクトする方法はないでしょうか。

PHPでformを出力してJavaScriptでsubmitするようにしましょう。

投稿2021/10/08 00:06

tabuu

総合スコア2456

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

JanTh1989

2021/10/10 05:39

ご回答ありがとうございます。 JavaScriptで、というわけではありませんが、別ページにform出力する「追記2」に書いた方法で対処することになりました。
guest

0

他社システム/他社ページが、こちらのシステムに対するAPIやインターフェースを構えておらず、
それでもなお他社システムに対してデータ入力したり情報を切り出したりしたい、
というふうにお見受けしました。
その前提で申し上げるなら、やりたいことを実現するには、
はやりのRPAツールを駆使するのがよろしいかと存じますが、
生憎RPA界隈の専門家ではないため具体的な方法についての説明はいたしかねます。
RPAツールにも係る話ですが、
他社システムにログインしたりフォーム入力して送信したりする機能が必要になってくるでしょうから、
webブラウザそのもの(あるいはwebクライアント)をプログラムから制御するというのが
欲しい機能の根幹になります。

seleniumを使ってPHPでChromeの自動操作をする - Qiita
PHPでブラウザ(Chrome、IE)を自動操作する方法

といった情報をきっかけにseleniumでできるかどうか検討してみてはいかがでしょうか。

投稿2021/10/07 07:13

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

JanTh1989

2021/10/07 09:15

ご回答ありがとうございます。 流行りのRPAツールなるものですか・・・。 すみません、自分も知識不足でした。 何かしらのツールがあるのですね。 調べてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問