Я сделал вход на сайт по логину и паролю, теперь мне необходимо реализовать изменение информации о пользователе.
В базе таблица users (id, user_name, user_surname, user_age, user_thirdname, email, password).
Я использую сессии в php при авторизации и при входе пользователь попадает в личный кабинет, где может изменить информацию о себе, для этого я использую findOne, но при внесении изменений(ФИО и возраст) - выдаёт ошибку:
Fatal error: Uncaught RedBeanPHP\RedException: Expected array, NULL given.
Вот код:
<?php
require "db.php";
$data = $_POST;
// изменение данных
if ( isset($_POST['change'])) {
$findUserMail = R::findOne('users', 'email = ?', $data['email']);
if ($findUserMail) {
$findUser->user_name = $data['user_name'];
$findUser->user_surname = $data['user_surname'];
$findUser->user_thirdname = $data['user_otchestvo'];
$findUser->user_age = $data['user_age'];
R::store($findUser);
} else {
echo "<script>alert(\"В введённых данных возникла ошибка: \");</script>";
}
}
//выход из аккаунта и из сессии
if ( isset($_POST['out']) ) {
unset($_SESSION['logged_user']);
header("Location:/index.php");
}
<form action="/index2.php" method="POST">
<p>Изменить личные данные</p>
<input type="text" placeholder="имя" name="user_name" required minlength="2" >
<input type="text" placeholder="фамилия" name="user_surname" required minlength="2" >
<input type="text" placeholder="отчество" name="user_otchestvo" required minlength="2" >
<input type="text" placeholder="возраст(лет)" name="user_age" required >
<button type="submit" name="change">Изменить</button>
</form>