前提・実現したいこと
PHPログインシステムを作っています。
エラーメッセージは出ないのですが常にdie('Connetction failed');となりログインができません。 require 'db.inc.php'を使ってサインアップページでDBへの登録はできるのでDBとはつながっていると思うのですが。。全く解決策が分かりません。
Loginページ
<?php if(isset($_POST['submit'])) { require 'db.inc.php'; $mailid = $_POST['maidid']; $password = $_POST['pwd']; var_dump( $mailid ); if(empty($mailid) || empty($password)) { header("Location:../index.php?error=emptyfields"); exit(); // echo 'Plaese input mail and pass'; } else{ $sql = "SELECT * FROM users WHERE uidUsers=? OR emailUsers=? ;"; $stmt = mysqli_stmt_init($conn); if(!mysqli_stmt_prepare( $stmt,$sql)){ header("Location:../index.php?error=sqlerror"); exit(); } else { mysqli_stmt_bind_param($stmt, "ss", $mailid, $$mailid ); mysqli_stmt_execute($stmt); $result = mysqli_stmt_get_result($stmt); if($row = mysqli_fetch_assoc($result)){ $pwdCheck = password_verify($password,$row['pwdUsers']); if($pwdCheck == false) { header("Location:../index.php?error=wrongpwd"); exit(); } elseif($pwdCheck == true){ session_start(); $_SESSION['userId'] = $row['idUders']; $_SESSION['useruid'] = $row['uidUsers']; header("Location:../index.php?login=success"); exit(); } }else{ header("Location:../index.php?wrongpwd"); exit(); } } } }else{ die('Connetction failed'); // header("Location:../index.php?somethingwrong"); // exit(); }
入力フォーム
<form action="includes/login.inc.php" method="post"> <input type="text" name="maidid" placeholder="input your email"> <hr> <input type="password" name="pwd" placeholder="Password"> <br> <br> <div> <button type="submit" class="btn btn-primary" name="submit"><a href ="includes/login.inc.php">Login </button> </div> </form>
とりあえず$connをvar_dumpしてみてはどうでしょう。
あと、コードはMarkdownで記載してください。
https://teratail.com/help/question-tips#questionTips3-7
テーブル定義どうなってるんでしょう。
or だとどちらかに一致したらtrueになりますが、どういう仕様ですか?
お二人ともありがとうございました!なんとかできました!
どうなって解決したか知らないですが、せめてコードのマークダウンはしておきましょう。
平で提示されてるだけで読む気をなくす人もいますし、インデントのことなどもあり、正しく再現確認ができませんので。
質問は編集できますので、適宜ご対応ください。
ご指摘ありがとうございます!今後気をつけます。わざわざお時間いただきすみませんでした。
分からないことがあればまたご質問させていただきます。
(2回目)質問は編集できますので。
あと、質問が「受付中」になっています。
まずはマークダウンの対応をされた後に、ヘルプページに載っている手順に従い、自己解決にして質問を「解決済み」にしてください。
あなたの回答
tips
プレビュー