if else语句php

时间:2010-05-24 19:45:30

标签: php if-statement

首次访问页面时如何才能显示???

if ($error) {
 echo "Error: $error<br/>";
}
if ($keycode) {
 echo "Keycode: $keycode<br/>";
}

4 个答案:

答案 0 :(得分:3)

<?php
session_start();

if ($_SESSION['been_here'] == true) {
     // show what you need to show
}
else {
    // don't show it
    $_SESSION['been_here'] = true;
}
?>

这里的要点是$ _SESSION-variables“last”(只要你是session_start())。 谷歌“PHP会议”获取更多信息,并在必要时询问有关SO的更多问题。 :)

使用session_destroy();摧毁会议。

答案 1 :(得分:1)

<?php

if ($error){ echo "Error: $error
"; } if ($keycode) { echo "Keycode: $keycode
"; }

答案 2 :(得分:0)

根据评论,您的条件似乎在您预期之前评估为true。在没有看到更多代码的情况下,这只是一个猜测,但我相信你的问题是你在创建变量$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/>";
}

答案 3 :(得分:0)

这可能适合你:

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/>";
}