За последние 24 часа нас посетили 20569 программистов и 1131 робот. Сейчас ищет 661 программист ...

Почему сессия выдает ошибку

Тема в разделе "Сделайте за меня", создана пользователем GGwp123, 30 янв 2019.

  1. GGwp123

    GGwp123 Новичок

    С нами с:
    30 янв 2019
    Сообщения:
    8
    Симпатии:
    0
    Здравствуйте , я пилю сайт и вот столкнулся с такой проблемой . прописал сессию для сайта и на некоторых дивайсах она работает окей а на некоторых не в какую не грузится и пишет ошибку . вот сам код с страницы записи сессии и вывода :
    PHP:
    1. <?php
    2.          
    3.             $data = $_POST;
    4.             if( isset($data['do_signup']) )
    5.             {
    6.                 $errors = array();
    7.              
    8.                         $_SESSION['VIN123'] = $data['VIN'];
    9.                         $_SESSION['infouser2123'] = $data['infouser2'];
    10.                         $_SESSION['infouser3123'] = $data['infouser3'];
    11.                      
    12.                         if( trim($_SESSION['infouser2123']) == '')
    13.                             {
    14.                             }
    15.                         else {
    16.                             $_SESSION['emailormail'] = 'Ваш E-mail:';
    17.                             $_SESSION['emailormail2'] =    $_SESSION['infouser2123'];
    18.                         }
    19.                         if( trim($_SESSION['infouser3123']) == '')  
    20.                             {
    21.                             }
    22.                         else {
    23.                             $_SESSION['emailormail'] = 'Ваш WhatsApp:';
    24.                             $_SESSION['emailormail2'] = $_SESSION['infouser3123'];
    25.                         }
    26.              
    27.                 if( trim($data['VIN']) == '')
    28.                     {
    29.                         $errors[] ='Введите ваш VIN код';
    30.                     }
    31.                  
    32.                 if ( mb_strlen($data['VIN']) !== 17)
    33.                     {
    34.                         $errors[] ='VIN код состоит из 17 символов';
    35.                     }
    36.                  
    37.                 if( trim($data['infouser2']) == '')
    38.                     {
    39.                         if( trim($data['infouser3']) == '')
    40.                         {
    41.                             $errors[] ='Введите ваш E-mail или Whatsapp';
    42.                         }
    43.                     }
    44.              
    45.                 if( empty($errors) )
    46.                     {
    47.                         $user = R::dispense('infousers');
    48.                         $user->VIN = $data['VIN'];
    49.                         $user->Email = $data['infouser2'];
    50.                         $user->Whatsapp = $data['infouser3'];
    51.                         R::store($user);
    52.                      
    53.                         echo '<div id="goodform"><br/>Переход к оплате подождите 5 сек</div>';
    54.                                              
    55.                         ?><script>
    56.                         someTimeout = 5000;
    57.                         window.setTimeout("document.location = 'http://www.vinyoxla.az/payment/selectitems.php';", someTimeout);
    58.                         </script><?php
    59.                     }
    60.                 else
    61.                     {
    62.                         echo '<div id="errorsform"><br/>'.array_shift($errors).'</div>';
    63.                     }
    64.             }
    65.      
    66.         ?>
    вот 1 код с страницы вода там ещё данные заносятся в базу данных и в сессию позже занос будет перенесен на другую страницу уже после оплаты пользователя

    так вот 2 страница-

    PHP:
    1. <?php session_start(); echo '<div id="payment222vin">'.$_SESSION['VIN123'].'</div>'; ?>
    PHP:
    1. <?php echo '<div id="paymentwhatmail111">'.$_SESSION['emailormail'].'</div>'; ?><?php echo '<div id="paymentwhatmail222"><br/>'.$_SESSION['emailormail2'].'</div>'; ?>
    так вот сам вопрос почему сессия работает на некоторых сайтах или браузерах нормально а на некоторых выдаёт ошибку и может ли это быть связано с тем что сайт тяжелый и сессия не успевает загрузится или я просто додик и сделал все не так как нужно вот сам сайт для проверки если вдруг нужен будет https://vypileno.ru оплата работает пока только на ру версии также не под все рассширении экранов настроен пока
     
    #1 GGwp123, 30 янв 2019
    Последнее редактирование модератором: 30 янв 2019
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    1. в 1 не вижу сессии, ты ее не возбудил перед использованием
    2. кто вас учил проверять переменные на существование и на пустоту, да и еще с trim ?
     
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.816
    Симпатии:
    735
    Адрес:
    Татарстан
    жесть ))))
     
  4. GGwp123

    GGwp123 Новичок

    С нами с:
    30 янв 2019
    Сообщения:
    8
    Симпатии:
    0
    1. она указана выше в документе session_start(); 2. не кто =) сам придумал с массивами работает думаю и с сессии прокатит я пока не очень селен во всем этом это мой первый более менее серьезный проект
     
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    @GGwp123
     
  6. GGwp123

    GGwp123 Новичок

    С нами с:
    30 янв 2019
    Сообщения:
    8
    Симпатии:
    0
    PHP:
    1.                         $_SESSION['VIN123'] = $data['VIN'];
    2.                         $_SESSION['infouser2123'] = $data['infouser2'];
    3.                         $_SESSION['infouser3123'] = $data['infouser3'];
    4.                        
    5.                         if( trim($_SESSION['infouser2123']) == '')
    6.                             {
    7.                             }
    8.                         else {
    9.                             $_SESSION['emailormail'] = 'Ваш E-mail:';
    10.                             $_SESSION['emailormail2'] =    $_SESSION['infouser2123'];
    11.                         }
    12.                         if( trim($_SESSION['infouser3123']) == '')  
    13.                             {
    14.                             }
    15.                         else {
    16.                             $_SESSION['emailormail'] = 'Ваш WhatsApp:';
    17.                             $_SESSION['emailormail2'] = $_SESSION['infouser3123'];
    18.                         }
    там идёт вот такой код просто сессион старт вызывается выше чем нижний php но все это в одном документе просто у меня несколько сессий на страниц а включение идёт ее выше
     
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    ошибка какая ?
    --- Добавлено ---
    <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 />
     
  8. GGwp123

    GGwp123 Новичок

    С нами с:
    30 янв 2019
    Сообщения:
    8
    Симпатии:
    0
    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
     
  9. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    ну и ? в чем трудность то ?
    --- Добавлено ---
    а тема вообще про сессии ;)
     
  10. GGwp123

    GGwp123 Новичок

    С нами с:
    30 янв 2019
    Сообщения:
    8
    Симпатии:
    0
    Я проверил через session_id() на 1 стр и 2 стр на 2 устройствах ид одинаковые и все работает ок а на 4 других они разные
    --- Добавлено ---
    проблема в том что почему то на одних устройствах работает все нормально а на других нет =(
     
  11. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    Ванги тут нет почему кашу делает одну а подает другую
     
  12. GGwp123

    GGwp123 Новичок

    С нами с:
    30 янв 2019
    Сообщения:
    8
    Симпатии:
    0
    Не чего не понял =(
     
  13. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    PHP:
    1. if( !isset( $_SESSION['infouser2123'] ) )
    2. {
    3.     $_SESSION['errorEmail'] = 'Ваш E-mail:';
    4. }
    5. if( !isset( $_SESSION['infouser3123'] ) )
    6. {
    7.     $_SESSION['errorWhatsApp'] = 'Ваш WhatsApp:';
    8. }
    --- Добавлено ---
    эту ошибку выдает потому что ты эти переменную не объявил.
    да возможно тебе просто ее нужно проверить на пустоту.
     
  14. GGwp123

    GGwp123 Новичок

    С нами с:
    30 янв 2019
    Сообщения:
    8
    Симпатии:
    0
    все проверил на 2 дивайсах все норм работает а на других нет . как писал выше тогда почему работает на других устройствах а на других нет мне вот это не понятно ладно бы не на одном бы не работало так нет же =( сессия выводится у меня на пк работает замечательно и на разных браузерах на телефоне также но на другом пк ноуте и планшете сессия выдает вот это ошибку
     
  15. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    От куда ты взял переменную $data[''] из формы?
    Ты ее проверяешь на пустоту, ты ее вообще создал?
     
  16. GGwp123

    GGwp123 Новичок

    С нами с:
    30 янв 2019
    Сообщения:
    8
    Симпатии:
    0
    PHP:
    1.  $data = $_POST;
    я запрос из формы пост перевел в дата
    --- Добавлено ---
    и с этим все окей у меня проблемы с сессиями где
    PHP:
    1. $_SESSION['VIN123'] = $data['VIN'];
    2.                         $_SESSION['infouser2123'] = $data['infouser2'];
    3.                         $_SESSION['infouser3123'] = $data['infouser3'];
    --- Добавлено ---
    вот код 1 страницы
    Код (Text):
    1. <?php
    2.          
    3.             $data = $_POST;
    4.             if( isset($data['do_signup']) )
    5.             {
    6.                 $errors = array();
    7.              
    8.                              
    9.                 if( trim($data['VIN']) == '')
    10.                     {
    11.                         $errors[] ='Введите ваш VIN код';
    12.                     }
    13.                  
    14.                 if ( mb_strlen($data['VIN']) !== 17)
    15.                     {
    16.                         $errors[] ='VIN код состоит из 17 символов';
    17.                     }
    18.                  
    19.                 if( trim($data['infouser2']) == '')
    20.                     {
    21.                         if( trim($data['infouser3']) == '')
    22.                         {
    23.                             $errors[] ='Введите ваш E-mail или Whatsapp';
    24.                         }
    25.                     }
    26.                      
    27.                         $_SESSION['VIN123'] = $data['VIN'];
    28.                         $_SESSION['infouser2123'] = $data['infouser2'];
    29.                         $_SESSION['infouser3123'] = $data['infouser3'];
    30.                      
    31.                         if( trim($_SESSION['infouser2123']) == '')
    32.                             {
    33.                             }
    34.                         else {
    35.                             $_SESSION['emailormail'] = 'Ваш E-mail:';
    36.                             $_SESSION['emailormail2'] =    $_SESSION['infouser2123'];
    37.                         }
    38.                         if( trim($_SESSION['infouser3123']) == '')  
    39.                             {
    40.                             }
    41.                         else {
    42.                             $_SESSION['emailormail'] = 'Ваш WhatsApp:';
    43.                             $_SESSION['emailormail2'] = $_SESSION['infouser3123'];
    44.                         }
    45.              
    46.                 if( empty($errors) )
    47.                     {
    48.                         $user = R::dispense('infousers');
    49.                         $user->VIN = $data['VIN'];
    50.                         $user->Email = $data['infouser2'];
    51.                         $user->Whatsapp = $data['infouser3'];
    52.                         R::store($user);
    53.                      
    54.                         echo '<div id="goodform"><br/>Переход к оплате подождите'.session_id().' 5 сек</div>';
    55.                                              
    56.                         ?><script>
    57.                         someTimeout = 5000;
    58.                         window.setTimeout("document.location = 'http://www.vinyoxla.az/payment/selectitems.php';", someTimeout);
    59.                         </script><?php
    60.                     }
    61.                 else
    62.                     {
    63.                         echo '<div id="errorsform"><br/>'.array_shift($errors).'</div>';
    64.                     }
    65.             }
    66.      
    67.         ?>
    68.      
    69.      
    70.         <form action="" method="POST">
    71.         <br/><br/><br/>
    72.         <input class="text" type="text" maxlength="17" name="VIN" placeholder="ВВЕДИТЕ ВАШ VIN" value="<?php echo @ $data['VIN']; ?>">  
    73.         <br/><br/><br/>
    74.      
    75.         <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;">&#x600;&nbsp;E-MAIL</option><option value="3" style="font-family:'San Francisco Text Regular',fontello; font-variant: small-caps;">&#x601;&nbsp;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">
    76.      
    77.         <br/><br/><br/>
    78.  
    79.      
    80.      
    81.         <br/><br/>
    82.         <button type="submit" name="do_signup" class="button">ОТПРАВИТЬ</button>
    83.         <br/><br/><br/>
    84.         </form>
    вот код 2
    Код (Text):
    1. <div id="paymentuser123">
    2.     <form id="form222" action="saveitem.php" method="post">
    3.         <div id="paymentvin"><div id="payment111vin">Ваш VIN код:</div><?php session_start(); echo '<div id="payment222vin">'.session_id().''.$_SESSION['VIN123'].'</div>'; ?></div>
    4.         <div id="paymentwhatmail"><?php echo '<div id="paymentwhatmail111">'.$_SESSION['emailormail'].'</div>'; ?><?php echo '<div id="paymentwhatmail222"><br/>'.$_SESSION['emailormail2'].'</div>'; ?></div>
    5.         <div id="cardtype111">Выберите карту для оплаты:</div>
    6.         <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>
    7.         <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>
    8.         <div id="price123">Цена: 10 AZN</div>
    9.         <div id="getnextinput1"><input id="getnextinput" type="submit" name="selectItem" value="Далее"></div>
    10.         </form>
    11.         <div id="getbackinput1"><input id="getbackinput" onclick="location.href = 'http://www.vinyoxla.az/ru.php'" type="submit" name="GetBack" value="Назад"></div>
    12.     </div>
     
  17. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    --- Добавлено ---
    [​IMG]