Проблема входа в Php скрипт
I'm trying to login make a PHP login script work but I receive as an errors: Warning: mysqli_stmt::bind_result(): Number of bind variables doesn't match number of fields in prepared statement in /hermes/bosnaweb25a/b2739/d5.sfconsul/public_html/daaseed.com/Player/login.php on line 32 Warning: Cannot modify header information - headers already sent by (output started at /hermes/bosnaweb25a/b2739/d5.sfconsul/public_html/daaseed.com/Player/index.php:3) in /hermes/bosnaweb25a/b2739/d5.sfconsul/public_html/daaseed.com/Player/login.php on line 36 index.php <?php include('login.php'); // Includes Login Script if(isset($_SESSION['login_user'])){ header("location: profile.php"); // Redirecting To Profile Page exit(); } ?> login.php <?php session_start(); // Starting Session ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); $error = ''; // Variable To Store Error Message if (isset($_POST['submit'])) { if (empty($_POST['username']) || empty($_POST['password'])) { $error = "Username or Password is invalid"; } else{ // Define $username and $password $username = $_POST['username']; $password = $_POST['password']; // mysqli_connect() function opens a new connection to the MySQL server. // $conn = mysqli_connect("localhost", "root", "", "customers"); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $conn = mysqli_connect(......); // SQL query to fetch information of registerd users and finds user match. $query = "SELECT username, password, Paid from customers where username=? AND password=? AND Paid='y' LIMIT 1"; // To protect MySQL injection for Security purpose $stmt = $conn->prepare($query); $stmt->bind_param("ss", $username, $password); $stmt->execute(); $stmt->bind_result($username, $password); $stmt->store_result(); if($stmt->fetch()) //fetching the contents of the row { $_SESSION['login_user'] = $username; // Initializing Session header("location: profile.php"); // Redirecting To Profile Page } mysqli_close($conn); // Closing Connection } ?> I receive the errors when trying to login. I tried googling it but with no luck of finding the right solution. How to fix the issues?
Что я уже пробовал:
Я заметил, что эти ошибки возникают только тогда, когда на сервере. Я попробовал на localhost-никаких проблем. Конечно, я изменил утверждение mysqli, но, похоже, что-то еще не так.
Richard Deeming
Вы храните пароли в виде обычного текста. Не делай этого.
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хэширование паролей - делаем это правильно[^]
PHP включает в себя функции, которые помогут вам сделать все правильно:
PHP: password_hash[^]
РНР: функцию password_verify[^]