PHP Post为空,然后分配默认值

时间:2018-07-24 15:43:23

标签: php post

我有一个搜索查询,如果它从表单接收数据,它会返回一个效果很好的结果页面。但是,如果用户直接进入结果页面(他们在页面上加了书签),我希望他们看到所有结果。搜索是按星期几和地区进行的。是否可以将日期默认为当前日期(“ l”),将Area变量默认为整个城市?代码如下:

require("dbinfo.php");

$Area=$_POST['Area'];
$Day=$_POST['Day'];
$ID=$_POST['ID'];


include("History.php");
$con = mysql_connect('localhost', $username, $password );
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db($database, $con);
if (!$db_selected) {
die ('Can\'t use DB : ' . mysql_error());
}
$sql = "SELECT 
`ID`,`Name`,`Address`,`".$Day."`,`Area`,`PhoneNumber`,`logo`,`Website` FROM 
`JaxPlaces` WHERE (Area = '".$Area."' OR '".$Area."' = 'Entire City') and 
Status = 'active' and ".$Day." NOT LIKE 'NULL' ORDER BY Name;";
$result = mysql_query($sql);
if(!$result)
{

 }  

1 个答案:

答案 0 :(得分:0)

在PHP7 +中使用null-coalescing运算符

$Area = $_POST['Area'] ?? 'City';
$Day = $_POST['Day'] ?? date("l");

在PHP5中使用三元运算符:

$Area = isset($_POST['Area']) ? $_POST['Area'] : 'City';
$Day = isset($_POST['Day']) ? $_POST['Day'] : date("l");