我有一个URL: https://website.org/withdraw.php?valid_addr=1333mwKE7EcwLaR9ztdtEt7pPEfafpW4nn&amount=0.0002&_unique=1
和一行代码:
if (empty($_GET['amount']) || empty($_GET['valid_addr']) || empty($_GET['_unique']))==0) exit();
如果我删除这行,那么代码将成功运行。谁能告诉我我做错了什么?
如果三个字段中的任何一个为空,该行应该停止代码运行。
谢谢。
我想你应该使用array_key_exists
而不是空。
if (!array_key_exists('amount', $_GET) ||
!array_key_exists('valid_addr', $_GET) ||
!array_key_exists('_unique', $_GET))
exit();
From PHP empty() docs
确定变量是否为空。变量是如果不存在或其值为FALSE,则认为为空。如果变量不存在,Empty()不会生成警告。
参见Array Key Exists docs
if (($_GET['amount'] == 0) OR ($_GET['valid_addr'] == 0) OR ($_GET['_unique'] == 0)) { exit(); }
语法错误。移除==0)
部分:
if(empty($_GET['amount']) || empty($_GET['valid_addr']) || empty($_GET['_unique'])) {
exit();
}
左括号缺失,
if ((empty($_GET['amount']) || empty($_GET['valid_addr']) || empty($_GET['_unique']))==0) exit();
试试…
你的代码应该是这样的:
if (empty($_GET['amount']) || empty($_GET['valid_addr']) || empty($_GET['_unique']))
{
exit();
}
上面的代码有语法错误。我认为你想要验证0和1的唯一性。所以你应该试试这段代码
if (empty($_GET['amount']) || empty($_GET['valid_addr']) || $_GET['_unique'])==0) exit();