За последние 24 часа нас посетили 42552 программиста и 1815 роботов. Сейчас ищут 769 программистов ...

Регистрация пользователей помощь с логикой

Тема в разделе "PHP для новичков", создана пользователем _ne_scaju_, 16 ноя 2017.

  1. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Отлаживать надо. Я телепатически не умею
     
  2. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @mkramer
    Ок примерно куда надо посмотреть, может в мускуле что не то?
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    На код надо смотреть. В какой момент, как ты определил, что время на час вперёд. Мне, например, база всегда возвращает ровно то, что я туда написал.
     
  4. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    Я переменной $time = $_SERVER['REQUEST_TIME']; присвоил временную метку начала запроса.
    Ну и сразу потом подставил в запрос переменную $time для поля time_activ(int) по сути он должен писать мое время которое у меня, а он на час вперед пишет и сохраняет в базу.
     
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
  6. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    А если время получать, через какой-нибудь сервис?
     
  7. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    @Dimon2x, зачем? У него просто время на компе на один пояс настроено, а php - на другой, и соответственно, php внутри переводит часы. А, поскольку используется $_SERVER["REQUEST_TIME"], может и веб-сервера часовой пояс не туда настроен, но это я уже не знаю, мне тоже гуглить надо, как перенастроить
     
  8. karmay

    karmay Активный пользователь

    С нами с:
    9 ноя 2017
    Сообщения:
    180
    Симпатии:
    18
    Адрес:
    Н.Новгород
    не может, а наверняка, php всегда работает со временем сервера, поэтому чтобы не было расхождений, надо перенастраивать время сервера. После последнего перехода на зимние летние времена, + поволжье у нас тоже по своему времени живут, начилась такая бериберда.
    У меня проблема решена таким образом: берется время, отнимается час в самом скрипте, записывается в таблицу.
     
  9. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    php не запрашивает время у веб-сервера, берёт время ОС и переводит в нужный пояс. Но массив $_SERVER заполняется при вызове именно веб-сервером, поэтому я предположил. В своих скриптах я просто не пользуюсь $_SERVER["REQUEST_TIME"]
     
  10. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    Да у меня в php.ini стоит другая зона может ли из-за этого время не правильно показывать?
    --- Добавлено ---
    @mkramer
    А чем пользуешься? какими функция если я использую int поля для времени?
     
  11. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    Исправил файл php.ini и время стало на свои места)
     
  12. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Когда мне нужно время, делаю time() и всё. Мне не разу не было важно именно время, когда пришёл запрос, и ни миллисекундой позже
     
  13. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    а что именно исправил?
     
  14. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @Dimon2x
    В файле php.ini на локальном сервере изменил в строке регион поставил на свой.
    [Date]
    date.timezone = "Europe/Регион"//Сюда вписал свой регион.
     
  15. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    Теперь опять перешел на timestamp) потому что время правильно в базу записывает, да и не только по этому, видно в базе именно время когда запись была добавлена, не приходится переводить время из int формата в нужный вид. Надеюсь она мне пригодится)
     
  16. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    PHP:
    1. $date = new DateTime('', new DateTimeZone('Europe/Moscow'));
    2. echo $date->format('Y-m-d H:i:sP') . "\n";
     
  17. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    пока такой запрос один, может и никакого вреда.
    @_ne_scaju_ а нафига тебе вообще это всё надо ?
     
  18. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @askanim
    Чтобы не засорять базу, вот зачем, очищать таблицу с ненужными данными если срок ссылки истекает.
     
  19. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    Именно эту задачу будет дешевле выполнять раз в сутки/неделю/месяц.
     
  20. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    засорять базу чем вот скажи чем ты там засоряешь её?
     
  21. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    @_ne_scaju_ строчкой ну и? Ты вот сейчас свой код засоряешь не нужными вещами какими то проверками обработками. Повесил по крону скрипт раз в сутки очищать базу всё баста, работает. база чиста.
     
  22. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @askanim
    Согласен, но кроном не пользовался не разу. Да и вообще час конечно маловато это будет нагрузкой большой, лучше как и ты говоришь день неделю месяц чистить) Только как пользоваться кроном, надо посмотреть)