-1

私は本当に先に進む必要があり、そのような単純なタスクで立ち往生しているので、これで頭がいっぱいです! どんな助けでも大歓迎です。

私がやろうとしているのは、カウントダウンが 0 に達したら Times Up メッセージをエコーすることです。

プラグインに onExpiry 関数があることは知っていますが、JavaScript を使用したくありません。ユーザーが無効にできないように PHP を使用したい。

これは私の完全なコードです:

<?php 
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
<?php date_default_timezone_set('GMT'); ?>
<?php
session_start();
// Run a select query to get my letest 6 items
// Connect to the MySQL database  
include "config/connect.php";
$dynamicList = "";
$sql = "SELECT * FROM item ORDER BY id ";
$query = mysqli_query($db_conx, $sql);
$productCount = mysqli_num_rows($query); // count the output amount
if ($productCount > 0) {
    while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){ 
             $id = $row["id"];
             $product_name = $row["product_name"];
             $date_added = date("Y, m, d", strtotime($row["date_added"]));
             $end_date = date("Y, m, j, G, i, s", strtotime($row["end_date"]));
             $price = $row["price"];
             $dynamicList .= '<div>' . $end_date . '
      </div>';
    }
} else {
    $dynamicList = "No Records";
}
?>
<?php
$tmp_date = explode(', ', $end_date);
$tmp_date[1] = $tmp_date[1] - 1;
$end_date = implode(', ', $tmp_date);
?>
<?php
$date = $end_date;
$exp_date = date("Y, m, j, G, i, s", strtotime($date));
$now = time();

if ($now < $exp_date ) {
?>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>

    <noscript>
        <h3>JavaScript is disabled!
        Please enable JavaScript in your web browser!</h3>

        <style type="text/css">
            #defaultCountdown { display:none; }
        </style>
    </noscript>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <title>jQuery Countdown</title>
    <link rel="stylesheet" href="jquery.countdown.css">
    <style type="text/css">
    #defaultCountdown { width: 240px; height: 45px; }
    </style>

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script type="text/javascript" src="jquery.countdown.js"></script>

    <script type="text/javascript">

     $(document).ready(function () {
        $('#defaultCountdown').countdown({
            until: new Date(<?php echo $end_date ?>),
            compact: true,
            onTick: warnUser
        });
    });



    </script>
    </head>
    <body>
    <?php
    } else {
        echo "Times Up";
    }
    ?>

    <div id="defaultCountdown" style="font-family:Verdana, Geneva, sans-serif;"></div>

    <?php
    } else {
        echo "Times Up";
    }
    ?>
    </body>
    </html>

現在、私は上記のコードを使用していますが、ページに何も表示されていない (Times Up) メッセージだけが表示されます。

<?php
$date = $end_date;
$exp_date = date("Y, m, j, G, i, s", strtotime($date));
$now = time();

if ($now < $exp_date ) {
?>

<?php
} else {
    echo "Times Up";
}
?>

タイマーが表示され、再び動作を開始します。カウンターが 0 になったらすぐに Times Up メッセージを表示/表示する方法を見つける必要があり、セキュリティ上の理由から PHP 経由で行う必要があります。

前もって感謝します。

4

1 に答える 1

0

$exp_date終了日時を表す文字列です。$now数値であるタイムスタンプです。数値を文字列と比較しています。

代わりに、それを変数に保存しstrtotime($date)、それを使用して時間がなくなったかどうかを確認します。

于 2013-09-19T10:04:42.127 に答える