Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Некорректная работа с www и без

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
gdv
Отправлено: 08 Апреля, 2019 - 15:08:41
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Не могу разобраться со старым сайтом. http://100shin[dot]com[dot]ua/ Сейчас нам делают новый, но а старый почему то перестал нормально работать.
Поиск на сайте работает странным образом. Если открыть сайт http://100shin[dot]com[dot]ua/ то при выборе первого значения в виде трехзначного числа (215, 225, 235 и т.д.) поиск даёт результат правильно, Но если выбрать двузначного число (10, 11, 12,...) пишет что ничего не найдено.
И наоборот
Если сайт открыть как http://www.100shin.com.ua/, то при выборе в поиске первого параметра в виде двузначного числа (10, 11, 12,...) поиск выдаёт результаты, а вот при выборе трехзначного числа (215, 225, 235 и т.д.) Пишет что ничего не найдено
Что за чудеса и как решить проблему?
 
 Top
Vladimir Kheifets
Отправлено: 08 Апреля, 2019 - 20:03:08
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




gdv пишет:
Не могу разобраться со старым сайтом. http://100shin[dot]com[dot]ua/ Сейчас нам делают новый, но а старый почему то перестал нормально работать.
Поиск на сайте работает странным образом. Если открыть сайт http://100shin[dot]com[dot]ua/ то при выборе первого значения в виде трехзначного числа (215, 225, 235 и т.д.) поиск даёт результат правильно, Но если выбрать двузначного число (10, 11, 12,...) пишет что ничего не найдено.
И наоборот
Если сайт открыть как , то при выборе в поиске первого параметра в виде двузначного числа (10, 11, 12,...) поиск выдаёт результаты, а вот при выборе трехзначного числа (215, 225, 235 и т.д.) Пишет что ничего не найдено
Что за чудеса и как решить проблему?

Добрый день!
Это ответ на вопрос:
Цитата:
Почему работает по разному
http://www[dot]100shin[dot]com[dot]ua/
http://100shin[dot]com[dot]ua/ ?

Одна из возможных причин куки.
Это Ваши куки с www
Спойлер (Отобразить)

Это без:
Спойлер (Отобразить)

Вы теряете во втором случае куки bingc-activity-data и biatv-cookie
Поменяйте имя домена в установках, также как и для других переменных.
Удачи!

(Отредактировано автором: 08 Апреля, 2019 - 20:05:38)

 
 Top
gdv
Отправлено: 09 Апреля, 2019 - 09:37:31
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Vladimir Kheifets пишет:
Поменяйте имя домена в установках, также как и для других переменных.


Простите не совсем понял в каких именно настройках менять имя? У регистратора домена? Или в .htaccess. В самом коде имени 100shin.com.ua нет
 
 Top
Vladimir Kheifets
Отправлено: 09 Апреля, 2019 - 15:33:26
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




gdv пишет:
Vladimir Kheifets пишет:
Поменяйте имя домена в установках, также как и для других переменных.

Простите не совсем понял в каких именно настройках менять имя? У регистратора домена? Или в .htaccess. В самом коде имени 100shin.com.ua нет

Если Вы посмотрите в консоле браузера переменные cookie,то увидете, для URL c www
2-е переменные cookie bingc-activity-data и biatv-cookie, потому, что в
setcookie указано имя домена с www, без www их нет.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. //2-е  переменные cookie для домена www.100shin.com.ua
  3. setcookie("bingc-activity-data", "", $c_time,"/","www.100shin.com.ua");
  4. setcookie("biatv-cookie", "", $c_time,"/","www.100shin.com.ua");
  5. // остальные переменные cookie для домена .100shin.com.ua, например :
  6. setcookie("_fbp", "", $c_time,"/",".100shin.com.ua");
  7. ?>

Вам нужно проверить имя домена в PHP setcookie или в js.

P.S. С 25 мая 2018 г. в EU действует новый регламент GDPR (Защита персональных данных),
согласно которому переменные cookie могут сохраняться только с согласиия поситетеля сайта
и при этом должно быть всё подробно объяснено, что,зачем и на сколько долго.
https://en[dot]wikipedia[dot]org/wiki/Ge[dot][dot][dot]ction_Regulation
Цитата:
За невыполнение закона накладывается штраф до 20 000 000 евро или до 4% от годового мирового оборота компании за предыдущий финансовый год,
в зависимости от того, что больше.

(Отредактировано автором: 09 Апреля, 2019 - 17:02:13)

 
 Top
gdv
Отправлено: 09 Апреля, 2019 - 17:43:37
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Vladimir Kheifets пишет:

Если Вы посмотрите в консоле браузера переменные cookie,то увидете, для URL c www
2-е переменные cookie bingc-activity-data и biatv-cookie, потому, что в
setcookie указано имя домена с www, без www их нет.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. //2-е  переменные cookie для домена www.100shin.com.ua
  3. setcookie("bingc-activity-data", "", $c_time,"/","www.100shin.com.ua");
  4. setcookie("biatv-cookie", "", $c_time,"/","www.100shin.com.ua");
  5. // остальные переменные cookie для домена .100shin.com.ua, например :
  6. setcookie("_fbp", "", $c_time,"/",".100shin.com.ua");
  7. ?>

Вам нужно проверить имя домена в PHP setcookie или в js.



Сейчас эта функция описана без каких либо адресов, так:
PHP:
скопировать код в буфер обмена
  1.  
  2. function cookieset($setuid, $setusername, $setpass, $setlang) {
  3.         $info = base64_encode("$setuid:$setusername:$setpass:$setlang");
  4.         setcookie("user", "$info", time() + 36000);
  5. }
  6.  
  7. function cookieread($val) {
  8.         $cookie_string = base64_decode($_COOKIE["user"]);
  9.         $cookie_vals = explode(":", $cookie_string);
  10.         return $cookie_vals[$val];
  11.  


Получается строку setcookie("user", "$info", time() + 36000); нудно переписать setcookie("user", "$info", time() + 36000, "www.100shin.com.ua");
Правильно?
 
 Top
Vladimir Kheifets
Отправлено: 09 Апреля, 2019 - 19:55:46
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




gdv пишет:
Сейчас эта функция описана без каких либо адресов, так:
PHP:
скопировать код в буфер обмена
  1.  
  2. function cookieset($setuid, $setusername, $setpass, $setlang) {
  3.         $info = base64_encode("$setuid:$setusername:$setpass:$setlang");
  4.         setcookie("user", "$info", time() + 36000);
  5. }
  6.  
  7. function cookieread($val) {
  8.         $cookie_string = base64_decode($_COOKIE["user"]);
  9.         $cookie_vals = explode(":", $cookie_string);
  10.         return $cookie_vals[$val];
  11.  


Получается строку setcookie("user", "$info", time() + 36000); нудно переписать setcookie("user", "$info", time() + 36000, "www.100shin.com.ua");
Правильно?

Если Вы напишите ,так
PHP:
скопировать код в буфер обмена
  1. setcookie("user", "$info", time() + 36000,"/", "www.100shin.com.ua");

То будет работать при заходе на сайт c URL
Ecли так
PHP:
скопировать код в буфер обмена
  1. setcookie("user", "$info", time() + 36000,"/", "100shin.com.ua");

То будет работать при заходе на сайт c URLs
PHP:
скопировать код в буфер обмена
  1. http://www.100shin.com.ua
  2. http://100shin.com.ua

Самое важное, параметр домен в setcookie для всех переменных cookie устанвливались одинаково.
Посмотрите в консоле браузера Ваши куки.

(Отредактировано автором: 09 Апреля, 2019 - 20:21:54)

 
 Top
gdv
Отправлено: 09 Апреля, 2019 - 20:21:57
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




[quote=Vladimir Kheifets][/quote]

попробую, спасибо.
(Добавление)
PHP:
скопировать код в буфер обмена
  1. setcookie("user", "$info", time() + 36000,"/", "100shin.com.ua");


К сожалению не помогло.

(Отредактировано автором: 09 Апреля, 2019 - 20:24:05)

 
 Top
andrewkard
Отправлено: 10 Апреля, 2019 - 10:07:43
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Посмотрите конфиг nginx, эти сайты имеют один и тот же root?

location / {
root /data/www;
}

Если да то нужно дебажить файл /search.php, почему он при одинаковых параметрах запросы выдает разный результат
 
 Top
gdv
Отправлено: 10 Апреля, 2019 - 14:22:27
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Спасибо всем, решил проблему.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB