ホームページ  >  記事  >  バックエンド開発  >  iosとphp mysqlの間の相互作用

iosとphp mysqlの間の相互作用

WBOY
WBOYオリジナル
2016-12-01 00:56:571149ブラウズ

お聞きしたいのですが、
iosとphpのmysqlを連携させたいです
つまり、ios上でフォームに記入した後、mysqlにインポートすることができます
現在、post(ポストマン)経由でmysqlに入力することが可能です
ただ次の段階では困難があるということ
それが、ユーザーが iOS にログインしたときに
php mysql を記録できる方法ですか? SESSION を使用するだけで十分ですか?
iOS側ではどのようなAPIが必要ですか?

返信内容:

お聞きしたいのですが、
iosとphpのmysqlを連携させたいです
つまり、ios上でフォームに記入した後、mysqlにインポートすることができます
現在、post(ポストマン)経由でmysqlに入力することが可能です
ただ次の段階では困難があるということ
それが、ユーザーが iOS にログインしたときに
php mysql を記録できる方法ですか? SESSION を使用するだけで十分ですか?
iOS側ではどのようなAPIが必要ですか?

質問があります。Postman はサーバーサイド API をテストするために使用される Chrome 用のブラウザ プラグインです。 MySQL と直接対話するにはどうすればよいですか? ご質問に関しては、ログイン プロセスを変更する必要があります。
1. 承認テーブルとフィールドを追加します

トークンユーザーID有効期限login_atxxxx1ユーザーID1タイムスタンプ1タイムスタンプ2xxxx2ユーザーID2タイムスタンプ3タイムスタンプ4
2. ログイン時に、アカウントのパスワードを検証します。検証に合格した場合は、

authorize テーブルですべてのユーザーのトークンを期限切れに設定し、新しいレコードを挿入して、トークンを返します。 API リクエストを要求すると、サーバーはトークンを受け取り、トークンが承認テーブルに存在するかどうかを確認し、期限切れになっていない場合は次のステップに進みます。存在しないか期限切れの場合は、HTTP 401 ステータス コードを返します

ログイン後にトークンを与える

まず第一に、iOS とバックエンド間のやり取りは API を通じて行われることを明確にしましょう。 。また、API と MYSQL の間には特定のビジネス ロジックが存在します。 。

あなたが言及したプロセスは次のようになります:

1. iOS でログイン操作を実行し、API POST を介してアカウントとパスワードのパラメーターをアップロードします
2. バックグラウンド PHP は POST を介してパラメーターを受け取り、それらをデータベース内のデータと比較します。検証
3. パス その後、セッションを生成し、そのセッションをデータベースに保存し、そのセッションを iOS クライアントに返すことができます。 5. PHP バックグラウンドは、セッションを API リクエストにパッケージ化します。セッションがセッション テーブルに存在するかどうかを確認します。存在する場合、そのリクエストは正当です。そうでない場合、そのリクエストは不正です。
もう 1 つ: 有効期限のメカニズムは考慮されていません。 。簡単なプロセス


最も簡単な方法は、既存の PHP コードに最小限の変更を加えるか、まったく変更せずに、Web セッション メカニズムを使用することです。

iOS の API インターフェイスが Web ページ上の ajax リクエストとして返されると想像してみてください。PHP は、クライアントにとって解析しやすい JSON データを返します。

例:

現在の PHP ログインは次のようになります。ユーザーは Web ページのフォームを通じてユーザー名とパスワードを送信し、PHP は mysql にクエリを実行してユーザー情報を確認し、ログインできる場合はセッションと Cookie を設定します。 、ユーザーをログイン済みとしてマークすると、PHP はリダイレクト応答 (ログイン前ページまたはホームページ) を返します。

ajax ログインの場合、最後のステップで

などの json データが返されます。

上記は php+mysql ログインの最も簡単な例です。理解できない場合は、まず「php ajax ログイン」を検索して学習してください。上記の内容を知っていれば、実際に iOS の部分を学ぶ必要はありません。すでに知っていることになります。 iOS で使用される API は、Ajax で使用される API と同じです。
iOS クライアントは HTTP クライアント (AFNetworking を推奨) を使用し、URL をリクエストし、PHP は json データを返します。 Cookie、セッションなどについては、システムが自動的に処理するため、iOS クライアントが手動で処理する必要はありません。
return json_encode(['code' => '1', 'msg' => '登录成功!']); API は、クライアントの解析を容易にするために JSON のみを返します。クライアントとネゴシエートする限り、XML、テキスト、HTML、およびその他の同様の形式を返すこともできます。

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