2016-11-10 32 views
2

我想,如果有人進入,以顯示錯誤:如何檢查的時間範圍在PHP

  1. 相同的超時/ timein時間
  2. 重疊超時/ timein時間
  3. 在範圍內beetwen超時/ timein時間

但沒有奏效。時間依然可以插入到數據庫中。代碼如下:

<?php 
    $connect  = mysqli_connect("localhost", "root", "root", "db"); 
    global $connect; 

    if(isset($_POST['Submit'])) 
    { 
     $timeout  = '08:30:00'; 
     $timein   = '12:30:00'; 
     $time_out_user = $_POST['timeout']; 
     $time_in_user = $_POST['timein']; 

     if(($time_out_user >= $timeout) && ($time_out_user <= $timein)) 
     { 
      echo "Duplicate time"; 
     } 
     else 
     { 
      $add   = "INSERT INTO table (timeout,timein) 
            VALUES ('$time_out_user','$time_in_user')"; 
      $addDateTime = mysqli_query($connect,$add); 
      echo "Time added"; 
     } 
    } 
?> 
<form action="time.php" method="post"> 
    <table> 
     <tr> 
      <td><i class="fa fa-unlock-alt"></i> </td> 
      <td>Time Out: </td> 
      <td><input type ="time" name="timeout" size="30"></td> 
     </tr> 
     <tr> 
      <td><i class="fa fa-unlock-alt"></i> </td> 
      <td>Time In: </td> 
      <td><input type ="time" name="timein" size="30"></td> 
     </tr> 
    </table>  

    <p><input class="btnSuccess" type ="submit" name="Submit" value="Submit"> </p>    
</form> 

欣賞是否有人可以幫助我解決這個問題。謝謝。

回答

0

與timestamt 使用strtotime工作至今轉換爲時間戳:

$timeout  = strtotime('08:30:00'); 
$timein   = strtotime('12:30:00'); 
$time_out_user = strtotime($_POST['timeout']); 
$time_in_user = strtotime($_POST['timein']); 
+0

它的工作原理,謝謝。順便說一句。如果時間使用strtotime,那麼約會呢?它是否使用相同的技術。 – Jamilah

+0

插入數據庫的時間值爲838:59:59。我不知道爲什麼。但是這些錯誤很完美 – Jamilah