Здраствуйте! Помогите пожалуйста разобраться новичку. После поключения платеного шлюза -а именно интеркассы-теряется S_SESSION["login"].Оплата происходит из личного кабинета.После оплаты как и должно быть-возвращется на страницу кабинета но сессия уже утеряна.Код без платежного шлюза работает.Настройки phpini-а именно Директива Местное значение session.auto_start true php_value session.gc_maxlifetime 86400 php_value session.cookie_lifetime 0 session.use_only_cookies true session.use_trans_sid -в true не устанавливается-пишет внутренняя ошибка настройки phpini указанные выше не помогли . Или я не там ищу ошибку-может ошибка в файлах моего сайт при настройке шлюза Я впервые подключаю платежный шлюз.Техническая поддержка шлюза проконсультировала меня-сказав что потеря S_SESSION["login"] с их кассой никак не связана Сама касса в тестовом режиме работает session_start -в двух файлах в модулес и менадж но это наверное не имеет значения потому как я уже писал при обходе платежного шлюза по прямой ссылке на контроллер -сайт работ работает S_SESSION["login"] не теряется да S_SESSIO["login"] теряется не постоянно и не закономерно -сделал 1000 тестовых платежей-закономерности не заметил т.е.иногда S_SESSIO["login"] не теряется и после оплаты возвращает в кабинет как авторизованного пользователя -как и должно быть.Сайт на хостинге и сайт на локальном сервере.Заметил только одно-если выйти с кабинета и обновить главную страницу потом зайти в кабинет произвести оплату -то почти всегда S_SESSIO["login"] не теряется. У меня два варианта-либо настройки phpini либо файлы настройки платежного шлюза-файл процесса оплаты и тд Помагите пожалуйста-сайт готов-эту проблему не могу решить уже несколько недель Работаю не в коллективе а на фри-лансе даже не к кому лично обратитья Спасибо Буду очень признателен за помощь.Спасибо
дело в том что временно проверка отсутствует чтобы модераторы платежного шлюза могли безпрепятственно зайти на сайт для активации дополнительных способов оплаты --- Добавлено --- сайт вот http://sale-rent-in-ukraine.info/ но в связи с этой ошибкой которую я пытаюсь исправить после оплаты касса настроена на возвращение на локальный сервер но если надо я в любой момент настрою за 5 минут на хостинг-чтобы в живую видеть ошибку если что пожалуйста
Вы понимаете слово - код? Никто не просил адресов сайта По внешнему виду сайта зачастую невозможно сказать даже на каком яп он писался, не то чтоб код увидеть
Причем тут проверка логина и пароля? Вы же говорите что сессия теряется? Почему вы это решили? А вы устанавливали значение в сессию? Была ли она жива перед редиректом на платёжный шлюз? Как вы проверяли сессию после редиректа с шлюза?
public function avtorizUser(){ $result= $this->user->getUserOnLogin($_SESSION["login"]); if($result) return $this->returnMessage("SUCCESS_AVTORIZ",$this->config->address."dobav"); else return $this->returnMessage("ERROR_AVTORIZ",$this->config->address."avtoriz");} public function getUserOnLogin($alogin){ $id=$this->agetField("id","login",$alogin); return $this->aget($id,$this->table_name); } public function agetField($field_out,$field_in,$value_in){ return $this->db->avgetField($this->table_name,$field_out,$field_in,$value_in);} public function aget($id){ return $this->db->agetElementOnID($this->table_name,$id); } public function avgetField($table_name,$field_out,$field_in,$value_in){ $data=$this->aselect($table_name,array($field_out),"`$field_in`='".addslashes($value_in)."'"); if(count($data)!=1)return false; return $data[0][$field_out]; private function aselect($table_name,$fields,$where="",$order="",$up=true,$limit=""){ for ($i=0;$i<count($fields);$i++){ if((strpos($fields[$i],"("==false)&&($fields[$i]!="*"))) $fields[$i]="`".$fields[$i]."`"; } $fields=implode(",",$fields); $table_name=/*$this->config->db_prefix.*/$table_name; if(!$order)$order="ORDER BY`id`"; else{ if($order!="RAND()"){ $order="ORDER BY !`$order`"; if(!$up)$order.="DESC"; } else $order="ORDER BY $order"; } if($limit)$limit="LIMIT $limit"; if($where)$aquery="SELECT $fields FROM $table_name WHERE $where $order $limit "; else $aquery="SELECT $fields FROM $table_name $order $limit"; $result_set=$this->aquery($aquery); if(!$result_set)return false; $i=0; while($row=$result_set->fetch_assoc()){ $data[$i]=$row; $i++; } $result_set->close(); return $data; } } public function agetElementOnID($table_name,$id){ /*if(!$this->existsID($table_name,$id))return false;*/ $arr=$this->aselect($table_name,array("*"),"`id`='$id'"); return $arr[0]; } --- Добавлено --- да сессии живы перед шлюзом а после уже нет --- Добавлено --- до шлюза сессия жива всегда --- Добавлено --- и без шлюза все работает --- Добавлено --- может я сошел с ума но я засекал секундомером -пришел к выводу что где-то в пределах одной минуты 30 секунд после авторизации сессия живет и после проплаты на шлюзе тоже живет но в phpinfo параметра равного 90 секундам не нашнл
я неправильно сказал до шлюза сессия всегда жива если хорошо все обновить на главной странице или до загрузки сайта все обновить f5 --- Добавлено --- извините сессия до шлюза жива всегда а после шлюза жива около минуты 30 секунд если до этой минуты 30 секунд обновить главную страницу как-то так --- Добавлено --- я был бы очень благодарен вам если например я выложу на хостинг файлы с выводом сессии до шлюза и выводом сессии после шлюза а вы как експерт оценили бы ситуацию --- Добавлено --- потому как сайт работает без нареканий если ссылку на шлюз заменить ссылкой на контроллер после шлюза код сайта не меняется при этом вообще кроме ссылок это настройки шлюза -например функция в процессе оплаты или не знаю что в ини файле
1. оформляйте код в соответствующие теги - они тут есть 2. сейчас все начнут закидывать ваш код г..м ))))) Сделайте простой скрипт test.php PHP: session_start(); if (isset($_SESSION['test'])) { echo ' isset session!'; } else { echo 'not isset session. started!'; $_SESSION['test'] = 1; } Запустите его в адресной строке первый раз, потом закройте вкладку/бразуер и запустите через 90 секунд (как вы определили) и скажите результат если сессии не будет - значит точно все дело в времени жизни сессий и настройках
спасибо дорогой а что с дизайном не так конкретно? пожелаю вам смотреть на дизайн своей жены-главное чтоб он вам нравился а не мне И не стесняйтесь покажите свой дизайн публике а молодежь в том числе и я поучимся дизайну у вас у опытных и мудрых А насчет г-на-так его столько у каждого из нас Я не хотел вам нравиться я просил помощи а не насмешек-посмеяться ведь и я могу над вашей работой --- Добавлено --- спасибо на кассу уходит форма сгенерированная автомаически там только номер платежа <form id="payment" name="payment" method="post" action="https://sci.interkassa.com/" enctype="utf-8"> <input type="hidden" name="s" value="4YbQv9vjag" /> <input type="submit" value="Pay"> </form> с кассы приходит хттп-sciinterkassa../ /ci/цифры после долгих тестирований уточню проблему- касса подключена в личном кабинете. 1)Упрощенная схема сайта главная-кабинет(авторизация)-касса-кабинет(авторизованный пользователь). Проблема -теряется S_SESSION["login"] в кабинет(авторизованный пользователь)-т.е.возвращается то в кабинет но уже S_SESSION["login"] утерян. Если ходить по этой схеме то: 2)На последнем странице перед кассой всегда S_SESSION["login"] есть. 3)Если убрать кассу сайт работает без ошибок S_SESSION["login"] не теряется. 4)Если для теста пойти по кругу-главная-кабинет(авторизация)-касса-кабинет(авторизованный пользователь)-главная. без остановок-проглядывается некая закономерность а именно- S_SESSION["login"] теряется с заметной регулярностью то на 4 то 5 кругу-как я понимаю зависит от скорости прохождения круга в кабинете а на следующем кругу S_SESSION["login"] уже есть и так снова 5 кругов и снова на 5 кругу теряется-по схеме я шел с одинковой скоростью-поэтому 5 кругов Если поменять скорость прохождения схемы-то S_SESSION["login"] теряется на других кругах. Из этого я сделал вывод что проблема в настройках времени Только времени чего не знаю Помагите пожалуйста разобраться --- Добавлено --- спасибо-сайт без кассы работает и все сессии тоже
еще если загрузить сайт и бездействовать пару минут S_SESSION["login"] как всегда на последней странице перед кассой есть а посл кассы уже нет И вообще если бездействовать на сайте то на первом кругу S_SESSION["login"] в кабинете е будет спасибо
Он настолько уникальный и запоминающийся, что я даже не знаю с чего начать... И тут Остапа понесло... Судя по контенту, сайт вы делаете не для себя прекрасного, а для широкой аудитории. А я есть частичка этой аудитории... Я - бэкендщик и стряпаю всё на фреймворках и поэтому "ВАУ!!!" дизайнов у меня нет, как и желания самоутвердиться за ваш счёт. За моей спиной два диплома европейского университета DonBosco : "Инженер офсетной печати" и "Инженер графической индустрии". Хотите верьте, хотите - не верьте, но я бы прислушался к человеку который хоть что-то в этом понимает. Взгляните на фреймворки Bootstrap, Kube, Semantic UI... Благодаря им можно быстро верстать страницы под любые размеры экранов и делать приятные и читабельные сайты. Если хотите уникальное и своё, то прежде чем пуститься в пляс, почитайте про верстку печатной продукции. Про цветовые палитры, семейства шрифтов и их сочетания, гармоничное расположение и оформление текста. Сайт - это тот же самый журнал, который может содержать в себе очень полезную информацию, но из-за плохого дизайна его даже в руки не возьмут. Слова моего преподователя : "Дизайн - это исскуство правил. Чем больше вы соблюдаете правила вёрстки, тем красивее выглядит ваша работа. Иногда можно нарушить несколько правил и это может придать своеобразный шарм, но прежде всего необходимо чувствовать эту тонкую грань". И попроще относитесь к критике. Если вас будут только хвалить, то поверьте, вы далеко не уйдете.
заходишь в интернет-а там все так "красиво "! ) Дизайну всех как под линейку!! -все серое мелкое захламленное рекламой полупрозрачное ) Все потому что красоту и в частности дизайн пытаются подогнать под какие-то шаблоны и правила!! это смешно !На дядей я не работаю мне не надо чтобы мои сайты кто-то брал в руки ) А дизайн моего мне офигеть как нравиться и я уверен что он очень понравиться широкой публике Перечислю вам его достоинства-все просто и четко крупно ярко легко читаемо легко юзаемо! Мое понимание красоты-красота должна быть не для красоты а должна быть практичной и удобной Если сайт удобен и практичен-значит он красивый А мелкое прозрачное однотонное-это все лишь навязанные правила --- Добавлено --- я просил помощи по потере сессии а нарвался на критику дизайна спасибо огромное --- Добавлено --- Он настолько уникальный и запоминающийся, что я даже не знаю с чего начать...-значит офигенный дизайн
дизайн дело наживное)) вообще дизайн интересный)) будто в 90е вернулся)) тогда такое любили делать)) а по поводу того на чем пишите)) я тоже когда то говорил что лучше писать на чистом пхп, а не на фреймворках))) теперь когда набрался опыта говорю что лучше юзать фреймворки))
И так же я с дизайном: когда залез в веб, всё казалось сделано под копирку и я считал своим долгом разбавить эту серость своей креативностью. Но меня хватило всего на несколько проектов. Да, так же напомнило дизайн 90х, аж олдскулы свело. Порой скучаю по тем временам когда "20 метров джаваскрипта не тянули 300 байт". Да. Вы правы. Я смотрю на десятки новых сайтов ежедневно, но только ваш смогу нарисовать по памяти. Да и вот яркий пример: Лебедев. Многие шарящие и не шарящие в дизайне люди, откровенно считают его творчество г-ном. Но это никак не мешает ему быть среди самых известных дизайнеров в России и грести бабло.