Здравствуйте , я пилю сайт и вот столкнулся с такой проблемой . прописал сессию для сайта и на некоторых дивайсах она работает окей а на некоторых не в какую не грузится и пишет ошибку . вот сам код с страницы записи сессии и вывода : PHP: <?php $data = $_POST; if( isset($data['do_signup']) ) { $errors = array(); $_SESSION['VIN123'] = $data['VIN']; $_SESSION['infouser2123'] = $data['infouser2']; $_SESSION['infouser3123'] = $data['infouser3']; if( trim($_SESSION['infouser2123']) == '') { } else { $_SESSION['emailormail'] = 'Ваш E-mail:'; $_SESSION['emailormail2'] = $_SESSION['infouser2123']; } if( trim($_SESSION['infouser3123']) == '') { } else { $_SESSION['emailormail'] = 'Ваш WhatsApp:'; $_SESSION['emailormail2'] = $_SESSION['infouser3123']; } if( trim($data['VIN']) == '') { $errors[] ='Введите ваш VIN код'; } if ( mb_strlen($data['VIN']) !== 17) { $errors[] ='VIN код состоит из 17 символов'; } if( trim($data['infouser2']) == '') { if( trim($data['infouser3']) == '') { $errors[] ='Введите ваш E-mail или Whatsapp'; } } if( empty($errors) ) { $user = R::dispense('infousers'); $user->VIN = $data['VIN']; $user->Email = $data['infouser2']; $user->Whatsapp = $data['infouser3']; R::store($user); echo '<div id="goodform"><br/>Переход к оплате подождите 5 сек</div>'; ?><script> someTimeout = 5000; window.setTimeout("document.location = 'http://www.vinyoxla.az/payment/selectitems.php';", someTimeout); </script><?php } else { echo '<div id="errorsform"><br/>'.array_shift($errors).'</div>'; } } ?> вот 1 код с страницы вода там ещё данные заносятся в базу данных и в сессию позже занос будет перенесен на другую страницу уже после оплаты пользователя так вот 2 страница- PHP: <?php session_start(); echo '<div id="payment222vin">'.$_SESSION['VIN123'].'</div>'; ?> PHP: <?php echo '<div id="paymentwhatmail111">'.$_SESSION['emailormail'].'</div>'; ?><?php echo '<div id="paymentwhatmail222"><br/>'.$_SESSION['emailormail2'].'</div>'; ?> так вот сам вопрос почему сессия работает на некоторых сайтах или браузерах нормально а на некоторых выдаёт ошибку и может ли это быть связано с тем что сайт тяжелый и сессия не успевает загрузится или я просто додик и сделал все не так как нужно вот сам сайт для проверки если вдруг нужен будет https://vypileno.ru оплата работает пока только на ру версии также не под все рассширении экранов настроен пока
в 1 не вижу сессии, ты ее не возбудил перед использованием кто вас учил проверять переменные на существование и на пустоту, да и еще с trim ?
1. она указана выше в документе session_start(); 2. не кто =) сам придумал с массивами работает думаю и с сессии прокатит я пока не очень селен во всем этом это мой первый более менее серьезный проект
PHP: session_start(); $_SESSION['VIN123'] = $data['VIN']; $_SESSION['infouser2123'] = $data['infouser2']; $_SESSION['infouser3123'] = $data['infouser3']; if( trim($_SESSION['infouser2123']) == '') { } else { $_SESSION['emailormail'] = 'Ваш E-mail:'; $_SESSION['emailormail2'] = $_SESSION['infouser2123']; } if( trim($_SESSION['infouser3123']) == '') { } else { $_SESSION['emailormail'] = 'Ваш WhatsApp:'; $_SESSION['emailormail2'] = $_SESSION['infouser3123']; } там идёт вот такой код просто сессион старт вызывается выше чем нижний php но все это в одном документе просто у меня несколько сессий на страниц а включение идёт ее выше
ошибка какая ? --- Добавлено --- <b>Notice</b>: Undefined variable: data in <b>[...][...]</b> on line <b>3</b><br /> <br /> <b>Notice</b>: Undefined variable: data in <b>[...][...]</b> on line <b>4</b><br /> <br /> <b>Notice</b>: Undefined variable: data in <b>[...][...]</b> on line <b>5</b><br />
Notice: Undefined index: emailormail2 in /home/vinyoxla/public_html/payment/selectitems.php on line 41 Notice: Undefined index: emailormail in /home/vinyoxla/public_html/payment/selectitems.php on line 41
Я проверил через session_id() на 1 стр и 2 стр на 2 устройствах ид одинаковые и все работает ок а на 4 других они разные --- Добавлено --- проблема в том что почему то на одних устройствах работает все нормально а на других нет =(
PHP: if( !isset( $_SESSION['infouser2123'] ) ) { $_SESSION['errorEmail'] = 'Ваш E-mail:'; } if( !isset( $_SESSION['infouser3123'] ) ) { $_SESSION['errorWhatsApp'] = 'Ваш WhatsApp:'; } --- Добавлено --- эту ошибку выдает потому что ты эти переменную не объявил. да возможно тебе просто ее нужно проверить на пустоту.
все проверил на 2 дивайсах все норм работает а на других нет . как писал выше тогда почему работает на других устройствах а на других нет мне вот это не понятно ладно бы не на одном бы не работало так нет же =( сессия выводится у меня на пк работает замечательно и на разных браузерах на телефоне также но на другом пк ноуте и планшете сессия выдает вот это ошибку
PHP: $data = $_POST; я запрос из формы пост перевел в дата --- Добавлено --- и с этим все окей у меня проблемы с сессиями где PHP: $_SESSION['VIN123'] = $data['VIN']; $_SESSION['infouser2123'] = $data['infouser2']; $_SESSION['infouser3123'] = $data['infouser3']; --- Добавлено --- вот код 1 страницы Код (Text): <?php $data = $_POST; if( isset($data['do_signup']) ) { $errors = array(); if( trim($data['VIN']) == '') { $errors[] ='Введите ваш VIN код'; } if ( mb_strlen($data['VIN']) !== 17) { $errors[] ='VIN код состоит из 17 символов'; } if( trim($data['infouser2']) == '') { if( trim($data['infouser3']) == '') { $errors[] ='Введите ваш E-mail или Whatsapp'; } } $_SESSION['VIN123'] = $data['VIN']; $_SESSION['infouser2123'] = $data['infouser2']; $_SESSION['infouser3123'] = $data['infouser3']; if( trim($_SESSION['infouser2123']) == '') { } else { $_SESSION['emailormail'] = 'Ваш E-mail:'; $_SESSION['emailormail2'] = $_SESSION['infouser2123']; } if( trim($_SESSION['infouser3123']) == '') { } else { $_SESSION['emailormail'] = 'Ваш WhatsApp:'; $_SESSION['emailormail2'] = $_SESSION['infouser3123']; } if( empty($errors) ) { $user = R::dispense('infousers'); $user->VIN = $data['VIN']; $user->Email = $data['infouser2']; $user->Whatsapp = $data['infouser3']; R::store($user); echo '<div id="goodform"><br/>Переход к оплате подождите'.session_id().' 5 сек</div>'; ?><script> someTimeout = 5000; window.setTimeout("document.location = 'http://www.vinyoxla.az/payment/selectitems.php';", someTimeout); </script><?php } else { echo '<div id="errorsform"><br/>'.array_shift($errors).'</div>'; } } ?> <form action="" method="POST"> <br/><br/><br/> <input class="text" type="text" maxlength="17" name="VIN" placeholder="ВВЕДИТЕ ВАШ VIN" value="<?php echo @ $data['VIN']; ?>"> <br/><br/><br/> <select name="infouser" id="infouser" class="list" style="font-family:'San Francisco Text Regular',fontello;"><option value="1" selected disabled>КУДА ОТПРАВИТЬ ?</option><option value="2" style="font-family:'San Francisco Text Regular',fontello; font-variant: small-caps;">؀ E-MAIL</option><option value="3" style="font-family:'San Francisco Text Regular',fontello; font-variant: small-caps;">؁ WHATSAPP</option></select><input id="infouser1" class="text2" type="text" placeholder="ВВЕДИТЕ ВАШ" style="display:none" disabled><input id="infouser2" name="infouser2" class="text2" type="email" placeholder="ВВЕДИТЕ ВАШ E-MAIL" value="<?php echo @ $data['infouser2']; ?>" style="display:none"><input id="infouser3" name="infouser3" class="text2" type="text" placeholder="ВВЕДИТЕ ВАШ НОМЕР ТЕЛЕФОНА" value="<?php echo @ $data['infouser3']; ?>" style="display:none"> <br/><br/><br/> <br/><br/> <button type="submit" name="do_signup" class="button">ОТПРАВИТЬ</button> <br/><br/><br/> </form> вот код 2 Код (Text): <div id="paymentuser123"> <form id="form222" action="saveitem.php" method="post"> <div id="paymentvin"><div id="payment111vin">Ваш VIN код:</div><?php session_start(); echo '<div id="payment222vin">'.session_id().''.$_SESSION['VIN123'].'</div>'; ?></div> <div id="paymentwhatmail"><?php echo '<div id="paymentwhatmail111">'.$_SESSION['emailormail'].'</div>'; ?><?php echo '<div id="paymentwhatmail222"><br/>'.$_SESSION['emailormail2'].'</div>'; ?></div> <div id="cardtype111">Выберите карту для оплаты:</div> <div id="visa123"><div id="visa123111">VISA</div><div id="visaimg"><img src="http://www.vinyoxla.az/img/visa.png"/></div><div id="card1type1"><input type="radio" name="cardType" value='v' checked></div></div> <div id="mastercard123"><div id="mastercard123111">MASTERCARD</div><div id="mastercardimg"><img src="http://www.vinyoxla.az/img/mastercard.png"/></div><div id="card1type2"><input type="radio" name="cardType" value='m'></div></div> <div id="price123">Цена: 10 AZN</div> <div id="getnextinput1"><input id="getnextinput" type="submit" name="selectItem" value="Далее"></div> </form> <div id="getbackinput1"><input id="getbackinput" onclick="location.href = 'http://www.vinyoxla.az/ru.php'" type="submit" name="GetBack" value="Назад"></div> </div>