php - 表格计算失败
问题描述
我们正在尝试修复 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 中的这些计算让我们感到困惑。谢谢!
解决方案
推荐阅读
- node.js - .npmrc 忽略了私有包
- c# - Quartz.net Create with job with Dependency Injection
- javascript - 如何使用检索图像作为单选按钮的可绘制对象
- sql - SQL - 按周末分组
- android - android 中的文件 data/data/com.app.myapp/files/PersistedInstallation.XXXX.json 似乎包含身份验证令牌。做什么的?
- mule - 如何在不使用 Dataweave 中的列名的情况下创建 Excel 文件键值映射?
- pandas - Auto Arima Fit 警告
- android - 在同时运行的多个模拟器上运行相同的 ADB Shell 脚本
- docker - 使用 R 查询 SQLite 文件帮助:DBI::dbGetQuery() 永远不会完成,非常慢
- python - 我应该如何更改代码以使其能够创建用户名?