Php 如何测试URL查询字符串中是否存在特定变量?
我已经编写了以下php代码来从URL查询字符串中捕获名称和电子邮件Php 如何测试URL查询字符串中是否存在特定变量?,php,Php,我已经编写了以下php代码来从URL查询字符串中捕获名称和电子邮件 <?php $name = "rkb"; // Default name $email= "rkb@example.com"; // Default email if ($_GET['name']) { $name = test_input($_GET['name']); } i
<?php
$name = "rkb"; // Default name
$email= "rkb@example.com"; // Default email
if ($_GET['name']) {
$name = test_input($_GET['name']);
}
if ($_GET['email']) {
$email = test_input($_GET['email']);
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
我想使PHP的行为使$name
和$email
在缺少查询字符串时获得默认值。使用empty()
。它测试变量是否已设置以及是否包含非空值
if (!empty($_GET['name'])) {
您需要的是PHP函数 一个简单的方法
$name = isset($_GET['name']) ? test_input($_GET['name']) : "rkb";
使用
if(isset($\u GET['name'])
而不是if($\u GET['name'])
使用isset函数检查是否设置了$\u GET。像这样更改代码
<?php
$name = "rkb"; // Default name
$email= "rkb@example.com"; // Default email
if (isset($_GET['name'])) {
$name = test_input($_GET['name']);
}
if (isset($_GET['email'])) {
$email = test_input($_GET['email']);
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
您可以使用isset()
确定变量是否已设置且不为空。此外,还要检查empty()
if (isset($_GET['name']) && !empty($_GET['name'])) {
$name = test_input($_GET['name']);
}
尝试使用
a.K.a.
请删除多余的“)”isset()和!空()?是empty()更好,因为它还测试非null值?
if (isset($_GET['name']) && !empty($_GET['name'])) {
$name = test_input($_GET['name']);
}