1

さて、私はたくさんの質問を見てきましたが、私がやろうとしていることに似ているものを1つだけ見つけました。これへのリンクは次のとおりです。PHPを使用して1つのWebページから別のWebページにPOSTデータを渡す

あるPHPファイル(editData.phpと呼びます)から別のPHPファイル(submitData.phpと呼びます)にデータを渡したいです。どちらのファイルにもHTML要素はありません(つまり、純粋なPHPコード)。最初のファイル(editData.php)は$ _POSTデータを受け取り、それを編集して、2番目のファイルに送信する必要があります。2番目のファイル(submitData.php)は、$_POSTを使用してデータを読み込むことができる必要があります。恐れ入りますが、セッションもCookieも使用できません。

上記のリンクされた質問で受け入れられた答えは、フォーム内に非表示のフィールドを作成し、そこからデータをPOSTすることでした。これは、「editData.php」でユーザーとのやり取りがあったため、OPで機能しました。したがって、ユーザーが「submitData.php」に移動したい場合は、データをPOSTします。

javascript AJAX呼び出しからeditData.phpにアクセス(および$ _POSTデータを送信)しており、このページでユーザーの操作がないため、このソリューションを使用することはできません(少なくとも、使用できないと思います)。 。変更されたデータをコードでPOSTするか、「自動的に」(または「舞台裏」またはあなたがそれを呼びたいものなら何でも)転送を行う他の方法が必要です。submitData.phpは、editData.phpの直後に呼び出されます。

GETデータを受け入れるようにsubmitData.phpを書き直すことができるかどうかわからないので、それも数えます(ファイルにアクセスできるかどうかの問題です)。元のJavaScript関数(そして再びAJAX)にエコーバックしたくありません。私はeditData.phpで情報を暗号化していますが、(それを言うのはばかげているように聞こえますが)誰かが私の暗号化用の暗号を簡単に開発できるようにしたくありません。暗号化された(Inspect Elementで表示可能)後に値を返すと、私に言わせれば解読しやすくなります。

この問題はたくさん発生する可能性があると思うので、私が見逃している明らかな何かがあると思います。もしそうなら、教えてください。

tl; dr?別のPHPファイルのコードのみを使用しながら、POSTメソッドを介してPHPファイルにデータを送信するにはどうすればよいですか?

4

1 に答える 1

4

アプローチを合理化し、editDataファイルの最後にsubmitDataロジックを含めることを検討してください。ただし、これが何らかの理由(ファイルが異なるシステムに存在するなど)で不可能であると仮定すると、cURL機能を使用してデータを2番目のスクリプトに投稿するのが最善の策かもしれません。

ファイルが同じサーバー上にある場合は、2番目のスクリプトにデータを投稿しないことを強くお勧めします。これにより、このスクリプトに関連してWebサーバーが処理する必要のあるリクエストの量が基本的に2倍になります。

于 2012-07-18T19:56:09.620 に答える