如何将PHP语法翻译成:
if(isset($_GET['q'])//but q=is not empty or <2 because in this case redirect to) { do this } else { do this one }
我希望它不是太大了。
感谢。
更新了问题
为什么此代码不会重定向?
if(isset($_GET['q']))
{
if(!empty($_GET['q']) || $_GET['q']>2)
{
$q = $_GET['q'];
$q = mysql_real_escape_string($q);
$sql = $db->prepare ('SELECT * FROM t WHERE a = :a');
$sql->bindParam(':a',$q);
$sql->execute();
}
else
{
header("Location:somepage.php");
}
} else {
$sql = $db->prepare ('SELECT * FROM t ORDER BY b');
$sql->execute();
}
答案 0 :(得分:2)
这样做
<?php
if(isset($_GET['q']))
{
if(!empty($_GET['q']) || $_GET['q']<2)
{
header("location:somepage.php");
}
else
{
echo "Cannot be redirected";
}
}
答案 1 :(得分:2)
什么?你的意思是你所拥有的“文本”的代码吗?
if(isset($_GET['q']) && (!empty($_GET['q']) || $_GET['q'] < 2)) {
// redirect here using header("location: foo.php") or some other function if you are using some framework.
}
else {
/otherwise do something else.
}
更新至您更新的问题:
因为$_GET['q']
不是空的?做一个var_dump
$_GET
,以便我们和你知道那里有什么。否则就不可能说出来。但我认为你的代码完全按照你的要求去做。你只是没有完成你想要完成的事情。
答案 2 :(得分:1)
我认为此处q
是一个数字。
if (isset($_GET['q']) {
if (empty($_GET['q'] || $_GET['q'] < 2)) {
// do redirect here
} else {
// do mysql here
}
}