我正在使用以下语句来检查发布数据,并通过URL来设置变量:
if($_SERVER['REQUEST_METHOD']=='POST')
{
$sort = $_GET['sort'];
} else {
$sort = "mgap_ska_id";
}
我需要通过POST为变量分配值,但前提是该值是通过URL传递的。如果URL不包含变量,则该值需要我可以传递给查询的字符串。是否更好地使用if / then或更好的其他方法?
由于
答案 0 :(得分:1)
您有两个条件:
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
}
$sort = isset($_GET['sort']) ? $_GET['sort'] : 'mgap_ska_id';
$sort = 'default'; // If it's a get request
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$sort = isset($_GET['sort']) ? $_GET['sort'] : 'mgap_ska_id';
}
答案 1 :(得分:0)
只需检查
if(isset($_GET['sort']){
$sort = $_GET['sort'];
}
else{
$sort = "mgap_ska_id";
}
但请勿忘记检查有效数据。永远不要相信用户输入。
答案 2 :(得分:0)
确保您有一个名为“sort”的表单输入字段:
$sort = '';
if($_SERVER['REQUEST_METHOD']=='POST'){
// Sent by POST
$sort = $_POST['sort'];
} else if ($_SERVER['REQUEST_METHOD']=='GET'){
// Sent by GET
$sort = $_GET['sort'];
} else {
// Neither - set a default.
$sort = "mgap_ska_id
}
echo $sort;
答案 3 :(得分:0)
您也可以尝试以下将使用POST和GET方法
if(isset($_REQUEST['sort']){
$sort = $_REQUEST['sort'];
}
else{
$sort = "mgap_ska_id";
}
供您参考
无论哪种方式,表演都没有太大区别:与你的其他剧本相比,差异可以忽略不计。