可能是一件容易但却无法理解的事情。
我有两页都通向第三页。 在第三页我有
if(isset($_GET['something']) && isset($_GET['somethingelse']))
{
$something = $_GET['something'];
$somethingelse = $_GET['somethingelse'];
//more stuff here
}
从page1.php
到page3.php
,其中一个网址就像
<a href="page3.php?something='.$something.'&somethingelse='.$somethingelse.'">Click</a>
并且page3.php按预期显示所有内容。问题是从page2.php
到page3.php
。那里的链接就像
<a href="page3.php?something='.$something.'">Click</a>
所以page3.php没有正确加载,因为检查somethingelse
..我怎么能忽略isset而不删除它因为我需要$somethingelse
的值,但只有当它来自page1.php
。我在这里想不到合适的解决办法。
答案 0 :(得分:2)
将其分开:
if(isset($_GET['something']))
{
$something = $_GET['something'];
//more stuff here
}
if(isset($_GET['somethingelse']))
{
$somethingelse = $_GET['somethingelse'];
//some more stuff here
}
因为,somethingelse
未设置时$something = $_GET['something']
不会发生
答案 1 :(得分:2)
你不能只忽略if语句,这是流控制的全部要点。如果它传递了if语句,你只想做某事。如果你只想在$ _GET变量中定义$ somethingelse,并且如果$ _GET ['somethingelse']为空则允许脚本继续执行,那么:
if(isset($_GET['something'])) {
$something = $_GET['something'];
$somethingelse = $_GET['somethingelse'] ?: false;
//more stuff here
}