1

PHP で次のことを実行したいと思います (バージョン 5.2 を使用しています)。

IF form_date = current_date AND server_time >= 3:00pm EST
GIVE ERROR

form_date: ユーザーがフォームに入力した日付。

current_date: 今日の日付。

server_time: ホスト サーバーによって提供される現在の時刻。

これが私がこれまでに持っているものです:

//time validation
if (date("Gi") > '1500') {
    $process_result['custom_error'] = "You not able to register after 3 PM";
}

PHPは私のものではないので、これを終わらせる方法がわかりません。また、サーバーは設定されているタイムゾーンのみを返しますか、それとも東部標準 (EST) などの特定のタイムゾーンに変更できますか?

ご協力いただきありがとうございます。

4

2 に答える 2

1

デフォルトのタイムゾーンを設定するには、次を使用します: http ://www.php.net/manual/en/function.date-default-timezone-set.php

date_default_timezone_set('America/New_York');

コードを完成させるために、別のページにリダイレクトして、ユーザーに完全に失敗したことを通知します。

<?php
date_default_timezone_set('America/New_York');
if (date("Gi") > '1500') {
    header("Location: http://example.com/failed_registration.php");
}else{
 //how are you going to register them?
}
于 2012-07-12T17:00:30.867 に答える
0

私はうまく機能する次のものを使用することになりました。

//time validation for day-of reservations
date_default_timezone_set('America/New_York');
if (date("Gi") >= '1500'){
    if (date("m.d.y") == date("m.d.y",strtotime($table_data['element_' . $date_element_id]))){
    $error_elements[$date_element_id] = 'You are not able to make an online reservation for today, after 3:00pm EST.  Please call us at xxx-xxx-xxxx to make your reservation.';
    }
} 
于 2012-07-12T19:50:09.513 に答える