【发布时间】:2011-09-20 19:32:33
【问题描述】:
这段代码有什么问题:
<?php
if ($_GET['variable'] == "a") {
$variable = "a";
}
else {
$variable = "b"
}
echo $variable;
?>
我收到内部服务器错误。
【问题讨论】:
标签: php if-statement get
这段代码有什么问题:
<?php
if ($_GET['variable'] == "a") {
$variable = "a";
}
else {
$variable = "b"
}
echo $variable;
?>
我收到内部服务器错误。
【问题讨论】:
标签: php if-statement get
你在这里漏掉了一个分号:$variable = "b";
【讨论】:
<?php
$variable = 'b';
if (isset($_GET['hop']) && $_GET['hop'] == "a")
{
$variable = 'a';
}
echo $variable;
?>
关于你做错了什么的解释请看这里:http://php.net/manual/en/getting-started.php
【讨论】:
$variable 不能得到 "b" anymore) and NOTICEs are not ERRORs (NOTICEs doesn't break execution). It's cleaner with isset()` (或类似的东西),但它不会导致问题.
$variable 可以得到 b: 如果变量不等于 "a"!
$variable 的 else 部分缺少分号。
else {
$variable = "b";
}
【讨论】:
您忘记了$variable = "b" 行的结尾;。
【讨论】:
缺少分号
$variable = "b";
【讨论】:
缺少分号不会导致内部服务器错误。检查根目录中是否有 .htaccess 文件,以及它的配置是否正确。
【讨论】:
可能是第 6 行中缺少的;
$variable = "b";
因为其他一些答案也提供了替代方案
echo isset($_GET['hop']) && ($_GET['hop'] == "a")
? 'a'
: 'b';
:)
【讨论】: