當我第一次進入頁面時,我該如何得到這個不顯示?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