首页 > 解决方案 > 表格计算失败

问题描述

我们正在尝试修复 PHP 代码(来自几周前被解雇的 php 程序员),以确保这些日期不超过表单上的 28 天。

当客户在https://www.sorensonvrs.com/international_travel_request上填写申请并且他们填写超过 28 天时 - 它失败了。

失败的

PHP -

if ($valid_departure_date == TRUE && $valid_return_date == TRUE) {
       $submit_date = intval(date("Ymd"));  // Today's date
       $departure_date_string = sprintf("%02d",$post['departureYear']).sprintf("%02d",$post['departureMonth']).sprintf("%02d",$post['departureDay']);
       $departure_date = intval($departure_date_string);
       $return_date_string = sprintf("%02d",$post['returnYear']).sprintf("%02d",$post['returnMonth']).sprintf("%02d",$post['returnDay']);
       $return_date = intval($return_date_string);
       if ($departure_date > $return_date) {
         // $this->errors += array('depGTRet' => 'required');
         $this->errors = $post->errors();
         $post->add_error('depGTRet','required');
         $this->valid = '';
       } else {
         if ($submit_date >= $departure_date) {
           // $this->errors += array('oldDates' => 'required');
           $post->add_error('oldDates','required');
           $this->errors = $post->errors();
           $this->valid = '';
         } else {
           $trip_departure_date = substr($departure_date,0,4) . '-' .  substr($departure_date,4,2) . '-' .  substr($departure_date,6,2);
           $trip_return_date = date_create($trip_departure_date);
           date_add($trip_return_date,date_interval_create_from_date_string("28 days"));
           $trip_return_date = intval(date_format($trip_return_date,"Ymd"));
           if ($return_date >= $trip_return_date) {
             // $this->errors += array('checkDates' => 'required');
             $this->errors = $post->errors();
             $post->add_error('checkDates','required');
             $this->valid = '';
           } else {
             $validated_dates = TRUE;
           }
         }
       }
     }

我们不是数学高手,但 PHP 中的这些计算让我们感到困惑。谢谢!

标签: php

解决方案


推荐阅读