Есть 2 файла log-in.php и personal-area.php в первом файле - 2 формы, регистрация и авторизация, а во втором файле, должна быть информация пользователя (Фио, емайл и номер телефона ). Но когда пользователь входит в свой аккаунт, в личном кабинете не выводиться информация, но если делаю
var_dump($_SESSION['logged_user']);
, то выводит следующее (код ниже), заметил такое, что когда пользователь авторизовался, и выводить на странице
echo $_SESSION['logged_user']->login;
, то все ок и проблем нету. А если добавить переход на страницу personal-area.php и выводить точь такой код, то не выводиться ничего. В function.php добавил код и все равно не работает, + везде добавил session_start();
function Sessioninit() {
if(!session_id()) {
session_start();
}
}
add_action('init', 'Sessioninit', 1);
вот все материалы
1) если делаю дамп сессии на странице personal-area.php ----
object(__PHP_Incomplete_Class)#1 (11) { ["__PHP_Incomplete_Class_Name"]=> string(19) "RedBeanPHP\OODBBean" ["properties":protected]=> array(5) { ["id"]=> string(2) "14" ["login"]=> string(6) "Maksim" ["email"]=> string(14) "maqsik67@bk.ru" ["phone"]=> string(17) "+7(111) 111-11-11" ["password"]=> string(60) "$2y$10$a5r9Ro4D81Bat5XROZD1buaLDHBnJwsGTJbDekbLi3jQinqIyfI1C" } ["__info":protected]=> array(8) { ["type"]=> string(5) "users" ["sys.id"]=> string(2) "id" ["sys.orig"]=> array(5) { ["id"]=> string(2) "14" ["login"]=> string(6) "Maksim" ["email"]=> string(14) "maqsik67@bk.ru" ["phone"]=> string(17) "+7(111) 111-11-11" ["password"]=> string(60) "$2y$10$a5r9Ro4D81Bat5XROZD1buaLDHBnJwsGTJbDekbLi3jQinqIyfI1C" } ["tainted"]=> bool(false) ["changed"]=> bool(false) ["changelist"]=> array(0) { } ["model"]=> NULL ["data.bundle"]=> array(0) { } } ["beanHelper":protected]=> object(__PHP_Incomplete_Class)#2 (1) { ["__PHP_Incomplete_Class_Name"]=> string(44) "RedBeanPHP\BeanHelper\SimpleFacadeBeanHelper" } ["fetchType":protected]=> NULL ["withSql":protected]=> string(0) "" ["withParams":protected]=> array(0) { } ["aliasName":protected]=> NULL ["via":protected]=> NULL ["noLoad":protected]=> bool(false) ["all":protected]=> bool(false) }
2) сам код personal-area.php ----
if (isset($_SESSION['logged_user'])) {
echo 'dsabdjsahdgasjhdgashjdag <br/>';
var_dump($_SESSION['logged_user']);
} else{
echo '2';
}
echo $_SESSION['logged_user']->login; // не выводиться имя пользователя
3) код log-in.php ----
<div class="col-lg-4 text-center">
<?php $data = $_POST; ?>
<?php if ( isset($data['do_login']) ) {
$errors_log = array();
$user_log = R::findOne('users' , 'email = ?', array($data['email_log']));
if( $user_log ) {
if (password_verify($data['password'], $user_log->password)) {
$_SESSION['logged_user'] = $user_log;
?>
<script>window.location.href = "<?php echo get_home_url() ?>/cabinet"</script>
<?php
die;
}else{
$errors_log[] = 'Неверно введен пароль!';
}
} else{
$errors_log[] = 'Пользователь с таким e-mail не найден!';
}
} ?>
<form action="<?php echo get_home_url(); ?>/log-in" method="POST">
<div class="inner_enter inner_log-in text-center">
<div class="title-log">Вход</div>
<div class="log-in_input log-in_write log-in_input-email"><input name="email_log" type="email" placeholder="Ваш E-mail*" value="<?php echo @$data['email_log']; ?>"></div>
<div class="log-in_input log-in_write log-in_input-password"><input name="password" type="password" placeholder="Пароль"></div>
<div class="privacy-text-log-in">Нажимая на кнопку, Вы соглашаетесь с <a href="#">политикой конфиденциальности</a></div>
<div class="log-in_input log-in_input-submit"><input name="do_login" type="submit" value="Войти"></div>
<?php if (isset($data['do_login']) && !empty($errors_log)) {
echo '<div style="color: red;">'. array_shift($errors_log) .'</div>';
}
?>
</div>
</form>
</div>
<div class="col-lg-4">
<?php $data = $_POST;
$errors = array();
if ( isset($data['do_signup']) ) {
if ( trim($data['login']) == '' ) {
$errors[] = 'Введите ФИО';
}
if ( $data['email'] == '' ) {
$errors[] = 'Введите E-mail';
}
if ( $data['phone'] == '' ) {
$errors[] = 'Введите телефон';
}
if ( $data['password'] == '' ) {
$errors[] = 'Введите пароль';
}
if (R::count('users' , 'email = ?' , array($data['email'])) > 0) {
$errors[] = 'Пользователь с таким E-mail уже существует';
}
if (R::count('users' , 'phone = ?' , array($data['phone'])) > 0) {
$errors[] = 'Пользователь с таким номером уже существует';
}
if ( empty($errors) ) {
$user = R::dispense('users');
$user->login = $data['login'];
$user->email = $data['email'];
$user->phone = $data['phone'];
$user->password = password_hash($data['password'], PASSWORD_DEFAULT);
R::store($user);
}
} ?>
<form action="<?php echo get_home_url(); ?>/log-in" method="POST">
<div class="inner_enter inner_log-in text-center">
<div class="title-log">Регистрация</div>
<div class="log-in_input log-in_write log-in_input-name"><input required type="text" placeholder="Введите ФИО*" name="login" value="<?php echo @$data['login']; ?>"></div>
<div class="log-in_input log-in_write log-in_input-email"><input required type="email" placeholder="Ваш E-mail*" name="email" value="<?php echo @$data['email']; ?>"></div>
<div class="log-in_input log-in_write log-in_input-phone"><input required class="phone-mask" type="text" placeholder="Ваш телефон*" name="phone" value="<?php echo @$data['phone']; ?>"></div>
<div class="log-in_input log-in_write log-in_input-password"><input required type="password" placeholder="Ваш пароль*" name="password" value="<?php echo @$data['password']; ?>"></div>
<div class="privacy-text-log-in">Нажимая на кнопку, Вы соглашаетесь с <a href="#">политикой конфиденциальности</a></div>
<div class="log-in_input log-in_input-submit">
<input name="do_signup" type="submit" value="Регистрация">
</div>
<?php
if (isset($data['do_signup']) && empty($errors) ) {
echo '<div class="complete-message" style="color: green;">Вы успешно зарегистрированы!</div>';
} else{
echo '<div class="error-message" style="color: red;">'. array_shift($errors) .'</div>';
}
?>
</div>
</form>
</div>
страница personal-area.php ---

страница log-in.php ---