お聞きしたいのですが、
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_at | |
---|---|---|---|
ユーザーID1 | タイムスタンプ1 | タイムスタンプ2 | |
ユーザーID2 | タイムスタンプ3 | タイムスタンプ4 |
authorize テーブルですべてのユーザーのトークンを期限切れに設定し、新しいレコードを挿入して、トークンを返します。 API リクエストを要求すると、サーバーはトークンを受け取り、トークンが承認テーブルに存在するかどうかを確認し、期限切れになっていない場合は次のステップに進みます。存在しないか期限切れの場合は、HTTP 401 ステータス コードを返します
まず第一に、iOS とバックエンド間のやり取りは API を通じて行われることを明確にしましょう。 。また、API と MYSQL の間には特定のビジネス ロジックが存在します。 。
あなたが言及したプロセスは次のようになります:
1. iOS でログイン操作を実行し、API POST を介してアカウントとパスワードのパラメーターをアップロードします
2. バックグラウンド PHP は POST を介してパラメーターを受け取り、それらをデータベース内のデータと比較します。検証
3. パス その後、セッションを生成し、そのセッションをデータベースに保存し、そのセッションを iOS クライアントに返すことができます。 5. PHP バックグラウンドは、セッションを API リクエストにパッケージ化します。セッションがセッション テーブルに存在するかどうかを確認します。存在する場合、そのリクエストは正当です。そうでない場合、そのリクエストは不正です。
もう 1 つ: 有効期限のメカニズムは考慮されていません。 。簡単なプロセス
最も簡単な方法は、既存の PHP コードに最小限の変更を加えるか、まったく変更せずに、Web セッション メカニズムを使用することです。
例:
現在の PHP ログインは次のようになります。ユーザーは Web ページのフォームを通じてユーザー名とパスワードを送信し、PHP は mysql にクエリを実行してユーザー情報を確認し、ログインできる場合はセッションと Cookie を設定します。 、ユーザーをログイン済みとしてマークすると、PHP はリダイレクト応答 (ログイン前ページまたはホームページ) を返します。
ajax ログインの場合、最後のステップで
上記は 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、およびその他の同様の形式を返すこともできます。