Задать вопрос
@udogew

Сессия есть, но не выводиться на другой странице WordPress?

Есть 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 --- 60f4aa94e1b5c556726442.png
страница log-in.php --- 60f4ab3083b7b278788428.png
  • Вопрос задан
  • 62 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы