フロントエンドでは ReactJs を使用しており、axios.get を介してバックエンド (PHP) からログインしているユーザーのデータを取得しようとしています。ユーザーに条件を設定し、条件が満たされた場合はデータが返されます。ログイン ページが表示され、バックエンドが何も返しません。ログインが返される理由は、フロント エンドがデータの処理を担当するファイルが空であるため、何も返されないためです。
セッションを設定し、$_SESSION[] を $_POST[] に置き換えて、次のスニペットをページの上部に配置しました。 リーリー
しかし、効果はなく、エラーは表示されません。また、Postman でテストしたところ空が返されましたが、すべてが設定され、キーと値が可能な方法で書き込まれた状態で x-www-form-urlencoded でテストすると、400 エラーが返されました。すべてのフィールドが必要です。以下に、ログインと登録 (ユーザーの入力が処理されてデータベースに送信される) のコード スニペットを投稿します。
######ログイン###### リーリー
登録 - アカウントを確認した後、ユーザーをダッシュボードに直接リダイレクトする予定であるため、ここで $_SESSION も設定します。 リーリー
これは、フロントエンドで POST/GET リクエストを処理する方法です。 リーリー
login.php ファイルの出力フロントエンド コードとバックエンド コードの残りの部分を確認する必要がある場合は、お知らせください。 ######編集:######
これで、コードの何が間違っているかがわかりました。しかし、ログイン成功
というメッセージを受け取った後でも、依然としてログイン ページにリダイレクトされ続け、axios.get がコンテンツを取得していないことがわかります。 axios.post のみが機能します:
問題は、フロントエンドから
JSON
データを送信しているが、$_POST
を使用してそれを抽出しようとしているということです。 ドキュメントによると、 はで機能しますx-www-form -urlencoded
またはmultipart/form-data
フォーム データ。JSON データを送信する代わりに、バックエンドが予期するデータ (クエリ パラメーターの文字列) を送信できます。 リーリー