Heim > Fragen und Antworten > Hauptteil
Ich programmiere in PHP und erhalte einige Fehler. Außerdem wird meine else-Anweisung übersprungen
<?php // put your code here // $select_query = "Select * from `user_table` where username='$user_username'"; // $result = mysqli_query($con, $select_query); $sql = "Select * from `user_table` where username= ? "; // SQL with parameters $stmt = $con->prepare($sql); $stmt->bind_param("s", $user_username); $stmt->execute(); $result = $stmt->get_result(); $row_count = mysqli_num_rows($result); $row_data = mysqli_fetch_assoc($result); $user_ip = getIPAddress(); if ($_SESSION['attempt'] == 5) { $_SESSION['error'] = 'Attempt limit reach'; } else { if ($row_count > 0) { $_SESSION['username'] = $user_username; $row = mysqli_fetch_object($result); if (password_verify($user_password, $row_data['user_password'])) { // if ($row_count == 1 and $row_count_cart == 0) { // // echo"<script>alert('Login Successfully')</script>"; // echo"<script>window.open('profile.php','_self')</script>"; // } else { // $_SESSION['username'] = $user_username; // echo"<script>alert('Login Successfully')</script>"; // echo"<script>window.open('payment.php','_self')</script>"; // } if ($row->is_tfa_enabled) { $row->is_verified = false; $_SESSION["username"] = $row; $pin = rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9); $sql = "UPDATE user_table SET pin = '$pin' WHERE user_id = '" . $row->user_id . "'"; mysqli_query($con, $sql); header("Location: enter_pin.php"); } else { $row->is_verified = true; $_SESSION["username"] = $row; header("Location: profile.php"); } } else { echo"<script>alert('Invalid Credentials(Password Incorrect) " .$number ." attempt left ') </script>"; $_SESSION['error'] = 'Password incorrect '; //this is where we put our 3 attempt limit $_SESSION['attempt'] += 1; //set the time to allow login if third attempt is reach if ($_SESSION['attempt'] == 5) { $_SESSION['attempt_again'] = time() + (1 * 60); //note 5*60 = 5mins, 60*60 = 1hr, to set to 2hrs change it to 2*60*60 } } } else { echo"<script>alert('Invalid Credentials')</script>"; } } } ?>
Wenn ich also den Code ausführe, werden zwei Fehler angezeigt, nämlich
1) Warnung: Es wird versucht, die Eigenschaft „is_tfa_enabled“ von null in C:xampphtdocsFinalYearProjectUsersuser_login.php in Zeile 148 zu lesen
2) Schwerwiegender Fehler: Nicht erfasster Fehler: Versuch, die Eigenschaft „is_verified“ auf Null in C:xampphtdocsFinalYearProjectUsersuser_login.php:170 zuzuweisen. Stack-Trace: #0 {main} wird in C:xampphtdocsFinalYearProjectUsersuser_login.php Zeile 170 geworfen
Fehler 1 wird behoben, wenn ich Zeile 148 in $row_data['is_tfa_enabled'] ändere
P粉2421267862024-01-07 18:22:28
表中找不到 is_tfa_enabled
和 is_verified
行
另外 $row->is_verified = true;
不是有效的 commande 。您不能像这样更改列值