当我第一次进入页面时,我该如何得到这个不显示?if else语句php
if ($error) {
echo "Error: $error<br/>";
}
if ($keycode) {
echo "Keycode: $keycode<br/>";
}
当我第一次进入页面时,我该如何得到这个不显示?if else语句php
if ($error) {
echo "Error: $error<br/>";
}
if ($keycode) {
echo "Keycode: $keycode<br/>";
}
<?php
if ($error){ echo "Error: $error
"; } if ($keycode) { echo "Keycode: $keycode
"; }
这是怎么回事? – webbiedave 2010-05-24 20:21:05
我认为他的问题是“如何不出现此文本”。在我看来,他的问题的答案是PHP不解析他的文件,因为没有<?php标记。除非我在原作者的某个地方错过了一些说明,否则这个问题的大部分答案完全在左边的领域。 – 2010-05-24 20:38:06
<?php
session_start();
if ($_SESSION['been_here'] == true) {
// show what you need to show
}
else {
// don't show it
$_SESSION['been_here'] = true;
}
?>
的这里的一点是,$ _SESSION变量 “最后”(只要你在session_start())。 谷歌“PHP会议”了解更多信息,并在必要时提出更多关于SO的问题。 :)
使用session_destroy();破坏会议。
会话启动可能不适用于我,因为我已经在页面上发送了标头.. – user154107 2010-05-24 19:52:40
在发送输出之前使用session_start()... – 2010-05-24 19:53:55
是的,请使用session_start();甚至在_any whitespace_之前。这可能有点烦人,直到你习惯它,但它必须是这样。 :) – 2010-05-24 19:56:24
根据评论,似乎你的条件在评估为真之前,你期望它。没有看到更多的代码,这只是一个猜测,但我相信你的问题是,当你创建它并不意味着错误时,你给变量$error
一个默认/临时值。例如:
$error = "default error message, change me later";
// Later...
if ($error) { // This evaluates to true
echo "Error: $error<br/>";
}
如果是的话,你会想看看PHP's documentation on casting to booleans,也许(从Christian's answer与贡献),可以这么用:
$error = "0"; // Default error message, change it later
// Later...
if($_SESSION['been_here'] == true)
$error = "This is the real error message.";
// Even later...
if ($error) {
echo "Error: $error<br/>";
}
这可能对你有用:
if (isset($error) && !empty($error)) {
echo "Error: $error<br/>";
}
我不能说更多,因为你没有指定$error
的价值可能是什么。
或者你只需要引入一个标志,指示出现了错误:
$error = 'Error message.';
$has_error = false;
if(!empty($_POST) && some_condition) { // means it is a POST request
$has_error = true;
}
if($has_error) {
echo "Error: $error<br/>";
}
哪里$错误和$键码被设置? – 2010-05-24 19:50:48
您没有发布足够的代码。如果未定义'$ error',则消息不会显示。你在哪里定义它? – 2010-05-24 19:51:45
你的代名词在“我如何得到这个不显示”中含糊不清。你不想出现什么东西? “错误”? “关键代码”?还有别的吗? – Pops 2010-05-24 19:57:20