Павел
Знаток
(331)
7 месяцев назад
Не вижу инициализации переменной $mysqli в твоем коде.
Убедись в что в db.php все правильно проинициализировано и соединение с базой установлено.
Если проблемы останутся скинь сюда код db.php, проблема скорее всего в нем.
King FewУченик (184)
7 месяцев назад
require 'libs/rb.php';
R::setup('mysql:host=localhost;dbname=Regist', 'root', '');
?>
Код db.php
King FewУченик (184)
7 месяцев назад
я ,вроде, исправил ту ошибку, теперь появляется другая: Fatal error: Uncaught Error: Call to a member function bind_param() on bool in D:\server\openserver\OSPanel\domains\localhost\chps1.php:68 Stack trace: #0 {main} thrown in D:\server\openserver\OSPanel\domains\localhost\chps1.php on line 68
Не знаете , как исправить?
ПавелЗнаток (331)
7 месяцев назад
Судя по старому коду не понятно откуда взялась переменная $user["id"].
ПавелЗнаток (331)
7 месяцев назад
Зачем два подключаешься к базе данных? Они разные?
session_start() должна быть в самом начале.
Где выполняется запрос $sql из db.php?
И также остается вопрос откуда взялась переменная $user["id"], в твоем коде нигде нет ее инициализации.
Fatal error: Uncaught Error: Class name must be a valid object or a string in D:\server\openserver\OSPanel\domains\localhost\chps1.php:68 Stack trace: #0 {main} thrown in D:\server\openserver\OSPanel\domains\localhost\chps1.php on line 68
Как можно исправить?
И если какие-то ещё ошибки наёдете, исправите пожалуйста
Вот код:
<?php
require "db.php";
$errors = array();
if ($_POST["password"] == $_POST['password_confirmation']) {
$password_hash = password_hash($_POST["password"], PASSWORD_DEFAULT);
$sql = "UPDATE user
SET password_hash = ?
WHERE id = ?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("ss", $password_hash, $user["id"]);
$stmt->execute();
echo "Пароль изменён!";
} else {
echo "Пароли не совподают";
}
?>