Как узнать текущее время кроме как с локальной машины? - PullRequest
0 голосов
/ 07 мая 2018

Я делаю форму ежедневного отчета, используя Larave 5.5 с локальным сервером Apache XAMPP и базой данных MySQL для офисного проекта. Эта форма должна быть заполнена ежедневно и не может быть изменена после этого дня. Поэтому я сделал следующее, чтобы достичь этого.

Мой код:

    $current_time =Carbon::now();
    dd($current_time);
    $current_date = $current_time->toDateString();
    $create_time = $dr_details->created_at->toDateString();
    if($current_date > $create_time){
        return redirect()->back()->with('message','Sorry! Time\'s up. Can\'t edit this DR anymore.');
    }

Теперь все работает нормально, пока я не попытаюсь найти недостатки в этом. Что я сделал, так это изменил время моей машины на предыдущую дату аааа, и ДР снова стал редактируемым. Когда я меняю машинное время, Carbon::now() получает это время.

Как я могу предотвратить это?

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Поскольку сервер apache является локальным, это означает, что он получает время с вашего локального компьютера, и это нормальная ситуация. Когда вы развертываете проект на рабочем сервере, он будет получать время с рабочего сервера. Вы просто установите время для своего сервера один раз, и это все, что вам нужно.

0 голосов
/ 07 мая 2018

Насколько я знаю, для этого вам нужно использовать javascript.

<script type="text/javascript">
    var currentTime = new Date();
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();


document.write(hours + ":" + minutes);
</script>

Вы должны добавить-отредактировать то, что хотят ваши службы.

...