前提・実現したいこと
ここに質問の内容を詳しく書いてください。
phpでログイン機能を作っています。
メースアドレスとパスワードを設定しているはずなのでに
空欄でも指定のページ(mypage)へ移動できてしまいます。
どこを変更すべきは教えて欲しいです。
該当のソースコード
<?php session_start(); $error_message = ""; if(isset($_POST["login"])) { if($_POST["e-mail"] == "@gmai.com" && $_POST["current-password"] == "pass") { $_SESSION["e-mail"] = $_POST["e-mail"]; $login_success_url = "{{ asset('/mypage') }}"; header("Location:{$login_success_url}"); exit; } $error_message = "※ID、もしくはパスワードが間違っています。<br> もう一度入力して下さい。"; } ?> <!-- エラーメッセージ --> <?php if($error_message) { echo $error_message; } ?> <div class="Page"> <div class="pageTitle">ログイン</div> <div class="loginForm"> <form action="{{ asset('/mypage') }}" method="POST"> @csrf <!-- Laravel:419|PAGE EXPIREDエラーを防ぐため --> <label class="label" for="e-mail"><p>メールアドレス</p></label><input type="text" name="e-mail"> <label class="label" for="current-password"><p>パスワード</p></label><input type="current-password" name="current-password"></p> <div><a href="{{ asset('/reset_pass') }}">パスワードを忘れた方</a></div> <div class="button-mypage-new"> <input type="submit" name="login" value="MYPAGEへ" class="button"> <button type="button" class="button">初めての方</button> </div> </form> </div> </div>
補足情報(FW/ツールのバージョンなど)
macでvs codeとlaravelを使っています。
ソースコードは一部分なのかこれで全部なのか。ファイル名とディレクトリ名はどうか。第三者に状況を再現してもらうために必要な情報が足りていないので、丁寧に説明をお願いします。Laravelバージョンによってもいろいろ違うので、phpとLaravelのバージョン情報もしっかり記載してください。
その前にLaravelの使い方を何もかも全部間違えてる。こんなレベルの初心者がLaravel使うのは不可能なのでLaravelは捨ててもっと基礎からの学習が必要。
Laravelは使う必要があるので私も困っています。
session_start()や$_POST直接利用している時点でLaravel使う意味ない実装になってます。
回答有難うございます。
別の方法を検索してみます。
回答ではないです。質問への追記修正依頼です。
回答するほどの内容でもないのでこちらにコメントしています。
このまま作ったところでLaravelは単なるお荷物になるので普通に自前で組んだ方が良いレベルという話ですね。
どうしても使いたいのでしたら、せめて、ドキュメント(日本語訳でOK)は確認しましょう。
ただ「Web職人のためのフレームワーク」がうたい文句なので、他のフレームワークより学習コストは高いです。
https://www.amazon.co.jp/dp/4798168653 か https://www.amazon.co.jp/dp/4802613008 を買って体系的に学習したらいいんじゃないかと思った。前者は買って読んでみたけど、なかなか良さそうです。(読み切ってはいない。)