Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Php在设定日期后显示信息_Javascript_Php_Html_Css - Fatal编程技术网

Javascript Php在设定日期后显示信息

Javascript Php在设定日期后显示信息,javascript,php,html,css,Javascript,Php,Html,Css,您好,谢谢您抽出时间来看我的问题。我目前有一个Php脚本,允许我在设定日期后隐藏内容,并将其替换为默认文本,您可以在下面看到它: 申请毕业生: 毕业申请目前不可用。如果您有资格毕业,注册处将在毕业申请可用时通知您 更新答案 比如说,根据您的问题和评论中的场景,从今天$currentdate(即您的$first_expire_日期)起5天后,优惠首次到期。如果您想在今天起10天后再次开始第二次优惠,并在第二次优惠开始日期后继续15天,您应尝试使用 <?php // Today

您好,谢谢您抽出时间来看我的问题。我目前有一个Php脚本,允许我在设定日期后隐藏内容,并将其替换为默认文本,您可以在下面看到它:

申请毕业生:

毕业申请目前不可用。如果您有资格毕业,注册处将在毕业申请可用时通知您

更新答案

比如说,根据您的问题和评论中的场景,从今天$currentdate(即您的$first_expire_日期)起5天后,优惠首次到期。如果您想在今天起10天后再次开始第二次优惠,并在第二次优惠开始日期后继续15天,您应尝试使用

<?php
    // Today
    $currentdate = date('Y-m-d'); 

    // Offer starts. Set it as you want. You can set it to '2018-05-30' in that case you already get $first_expire_date expires.
    $offer_start_date = '2018-07-28';    

    // You can add +220 days, or +1 month or +2 years in the following snippet as you prefer
    // You can also subtract -3 months or -11 years or -1 day as you need
    $first_expire_date = date('Y-m-d',strtotime('+5 days',strtotime($offer_start_date )));

    //2nd time offer start date
    $second_valid_date_start = date('Y-m-d',strtotime('+5 days',strtotime($first_expire_date)));

    //2nd time offer end date
    $second_valid_date_end = date('Y-m-d',strtotime('+15 days',strtotime($second_valid_date_start)));
    ?>


    <?php if ($currentdate  <= $first_expire_date) { ?> 
    <li><p><strong>Apply to Graduate:</strong></p>
    <p><a href="app-graduate-form.php" class="applyBtn">Apply to Graduate</a></p>
    </li>
    <?php }else  ?>

    <?php if (isset($second_valid_date_start) && ($second_valid_date_start <= $second_valid_date_end)) { ?> 
    <li><p><strong>Apply to Graduate:</strong></p>
    <p><a href="app-graduate-form.php" class="applyBtn">Apply to Graduate</a></p>
    </li>
    <?php }else{ ?>

    <p><li><strong>The application to graduate is not available at this time.</strong> If you qualify to graduate, the Registrar’s Office will notify you when the application to graduate is available.</li></p>
    <?php } ?>

我希望有帮助

逻辑是先添加最新日期,再添加最早日期。比如:

如果日期>=2018-08-30

第二次约会后会发生什么


elseif date就我个人而言,如果你是硬编码日期,我会这样做,主要是因为我不必过多地回到脚本;p

有一个日期数组,然后匹配最近的开始日期,然后检查今天是否在匹配数组的开始和结束之间

<?php
$dates = [
    ['start' => '2018-05-30', 'end' => '2018-06-30'],
    ['start' => '2018-07-26', 'end' => '2018-08-30'], // matches this
    ['start' => '2018-09-30', 'end' => '2018-10-30'],
];

function closest_key($dates, $date) {
    $result = [];
    foreach($dates as $value) {
        $result[] = abs(strtotime($date) - strtotime($value));
    }
    asort($result);
    return key($result);
}

$today = date('Y-m-d');
$date = $dates[closest_key(array_column($dates, 'start'), $today)];

if ($today >= $date['start'] && $today <= $date['end']) {
    echo 'Apply to Graduate';
} else {
    echo 'The application to graduate is not available at this time.';
}
如果日期为2018-09-01,则为假


同样的想法也可以在Javascript中实现,只需进行一点移植。

到目前为止,您尝试过什么?我尝试过添加elseif,但至今没有成功。@Aztlan,我发现Aztlan和Lawrence Cherone是同一个人。那不是^^^:^^^^吗?干得好,孩子。有可能把今天的日期改为结束日期吗?在这种情况下,我以2018-05-30为例。因此,在它被取下的120天后重新验证。当然。我只是根据您的代码给出一个示例,以便您能够理解它。我也在修改示例,以便您可以轻松实现它。感谢您的回复,您能在我用作示例的2018-05-30日期之后编辑您的代码以重新验证吗?我是Php的noob,这样对我来说就更有意义了。感谢您的时间和回复。@AztlanI,我更新了答案。如果您仍然不明白或有任何问题,请告诉我。谢谢!我要试一试。所以,如果我理解了,我会把我目前的信息,也就是说,现在还没有毕业申请。然后在if和elseif上,我将有:申请毕业:

这将再次启用按钮,对吗?劳伦斯非常感谢您的时间和回复,我觉得这样做很有意义,我只是设置日期,让它做它自己的事情,我试着使用你的代码,但它使网站停止运行,我看到它在结尾缺少一个php结束括号,但即使添加后,它也不起作用。没有问题,是的,你可能在放回html时缺少一个引号或其他东西。
Apply to Graduate