php - PHP Post 为空然后分配默认值
问题描述
我有一个搜索查询,如果它从表单接收数据,它会返回一个效果很好的结果页面。但是,如果用户直接进入结果页面(他们为页面添加了书签),我希望他们看到所有结果。搜索是按星期几和区域。我可以将日期默认为当天日期(“l”)并将区域变量默认为整个城市吗?代码如下:
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)
{
}
解决方案
在 PHP7+ 中使用空合并运算符
$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");
推荐阅读
- html - 谁或什么将“数据对比”注入我的网站(在晚上)以及如何阻止它?
- reactjs - Jest gql apollo - TypeError:无法读取未定义的属性“替换”
- c++ - 非成员模板友元函数默认参数值错误
- python - 在 pyspark 数据框中插入数据时出错
- regex - 当引号中可能有引号时,是否有正则表达式模式来提取引号之间的值
- amazon-web-services - AWS Quicksight - 启用用户评论
- javascript - 是否可以通过 Webpack 覆盖“全局”变量?
- python - 如何摆脱python列表中的html标签?
- flutter - 如何在颤动中不丢失更新的变量?
- android - android设计单选按钮