ホームページ >バックエンド開発 >PHPチュートリアル >サーバー上に 2 つの PHP プロジェクトがあると思いますが、フォームを別のプロジェクトに送信できますか?

サーバー上に 2 つの PHP プロジェクトがあると思いますが、フォームを別のプロジェクトに送信できますか?

WBOY
WBOYオリジナル
2016-12-01 01:27:361308ブラウズ

私のサーバーには 2 つの PHP プロジェクトがあります。1 つは TP フレームワークに基づく企業 Web サイトで、もう 1 つは同じく PHP Web サイトですが、購入した既製のビデオ ライブ ブロードキャスト Web サイトです。

私はメイン ドメイン名を会社の Web サイト www.xxx.com に指定し、次に Alibaba Cloud 上にセカンダリ ドメイン名を構築して、ライブ ビデオ Web サイト zb.xxx.com を指定しました。

さて、要件は、任意の Web サイトで登録してログインした後、別の Web サイトにログインできることです。専門家に聞きたいのは、現在のプロジェクトに限らず、任意の Web サイトの登録フォームを送信できるかということです。データベースを別のプロジェクトのデータベースに送信できますか?フォームの書き方は?

百度で見つからないので、専門家にアドバイスを求めるためにここに来るしかありません、ありがとう

返信内容:

私のサーバーには 2 つの PHP プロジェクトがあります。1 つは TP フレームワークに基づく企業 Web サイトで、もう 1 つは同じく PHP Web サイトですが、購入した既製のライブビデオ Web サイトです。

私はメイン ドメイン名を会社の Web サイト www.xxx.com に指定し、次に Alibaba Cloud 上にセカンダリ ドメイン名を構築して、ライブ ビデオ Web サイト zb.xxx.com を指定しました。

さて、要件は、任意の Web サイトで登録してログインした後、別の Web サイトにログインできることです。専門家に聞きたいのは、現在のプロジェクトに限らず、任意の Web サイトの登録フォームを送信できるかということです。データベースを別のプロジェクトのデータベースに送信できますか?フォームの書き方は?

百度で見つからないので、専門家にアドバイスを求めるためにここに来るしかありません、ありがとう

フォームは実行できません。対応する処理ページで別のプロジェクトにリクエストを手動で送信できます。ところで、問題を気にしないのであれば、この種のマルチサイト ユーザー同期 oauth を使用する方が良い解決策です。

このプロジェクトに送信した後、データベースをリモートでリンクしてデータを別のプロジェクトに書き込むことができます。フォームを 2 回送信する必要はありません。

私も以前このような状況になったことがあります。しかし、私の 2 つのプロジェクトは同じデータベースを共有しています。

または、セッションの範囲を設定することもできます。
www.xxx.com と zb.xxx.com の範囲を見てください。これらはすべて xxx.com である必要があります
次に、メイン エントリ ファイルに次のコードを追加します (セッションが開かれる前)
ini_set('session.cookie_path', '/');
ini_set('session.cookie_domain', '. xxx .com');
これが私が解決した方法です。

セッション共有メカニズム

クロスドメインは不可能です!

ajax を使用し、クロスドメインに CORS を使用し、フォームを現在のプロジェクトに送信し、ajax を使用して別のプロジェクトをリクエストします。

シングル サインオン ソリューションについてお問い合わせください。

一時的な解決策は、プロジェクト A をデータベースに入れるときに、プロジェクト B のコピーもデータベースに入れるのを忘れるということです。推奨される解決策は、シングル サインオン システム (SSO) を使用し、SSO からのログインを確認することです。ログインするたびに


ユーザーデータベースの共有が可能になるはずです

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。