[英]How to use if else statement correctly?
我想检查预订ID是否不在数据库中以及是否大于今天。 数据库检查部分正在工作。 但是,如果条件为真,则此部分不会进行。 我认为if
else
语句有问题。
else if($checkindate > $today)
{
$bidErr="This booking is not comming today. Please check again";
}
我在这里包含完整的代码。 来自表单的预订ID bid
。
<?php
$today=date("Y-n-j");
echo "<h4>Today is <font color='red'>".$today."</font></h4><br><br>";
// define variables and set to empty values
$bidErr = "";
$bid = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$flag = 1;
if (empty($_POST["bid"])) {
$bidErr = "Booking ID is required.";
$flag=0;
} else {
$bid = test_input($_POST["bid"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[0-9]*$/",$bid)) {
$bidErr = "Only Numbers are allowed";
$flag=0;
}
}
include("connect.php");
if($flag=="1"){
$SQL="SELECT guestid,checkindate FROM bookings WHERE bookingid='$bid'";
$run=mysql_query($SQL,$con) or die ("SQL error");
$rec=mysql_fetch_array($run);
$row=mysql_num_rows($run);
$checkindate = $rec['checkindate'];
echo $checkindate;
if ($row < 1) {
$bidErr="Invalid BookingID. Please check again";
}
else if($checkindate > $today) {
$bidErr="This booking is not comming today. Please check again";
} else {
$_SESSION["chinbid"] = $bid ;
header("Location: checkinhandler.php");
exit;
}
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
尝试这个:
else if(date("Y-n-j", strtotime($checkindate)) > $today)
我猜想您的$checkindate
与$today
变量的格式(Ynj)不同。
检查您的$checkindate
是否与$today
日期相同。
尝试检查$checkindate
格式是否类似于date("Ymd")
(2016-09-16)。 如果是这样的话, $today
会像
$today=date("Y-m-d");
检查PHP手册
我也建议去mysqli_ *而不是使用mysql_ *。 因为从php 5.5开始不推荐使用,并且在php 7.0中完全删除了它。
<?php
$row='0';
date_default_timezone_set('UTC');
$date=date_create("2016-09-15");
$today = date("Ymd");
$date= date_format($date, 'Ymd');
echo "Checkin date is " . $date. "<br>";
echo "Today is " . $today."<br>";
if ($row < '1'){
echo "no records";
} elseif ($date == $today) {
echo "dates are the same";
} else {
echo "check in handler";
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.