想把部分php代码放在页面上的其他地方

时间:2012-03-24 16:00:17

标签: php login content-management-system

我对php很新。我在SO上找到了一些类似于东方文本编辑的CMS代码,现在我正试图在我们的微网站上实现它。 我的问题是,我希望登录错误报告显示在页面上的确切位置 - 就在登录按钮下。 有人能告诉我如何将错误报告文本放在我想要的地方?我不想用CSS定位覆盖它。

基本上,我想把那个p class =“error”:

<?php
    if (empty($_POST) && isset($_GET['action'])) {
            $action = $_GET['action'];
            switch ($action) {
                case 'logout':
                    session_unset();
                    session_destroy();
                    break;
        }
    }
      if (!isset($_SESSION['user'])) {
                $user = '';
                $pass = '';
                if (isset($_POST['login'])) {
                    $user = strtolower(trim($_POST['user']));
                    $pass = $_POST['pass'];
                    $errors = array();
                    if ($user == '' || $user != '1') {
                        $errors['user'] = '';
                    }
                    if ($pass == '' || $pass != '1') {
                        $errors['pass'] = '';
                    }
                    if (empty($errors)) {
                        $_SESSION['user'] = $user;
                    } else {
                        echo '<p class="error">Insert correct ';
                        if (isset($errors['user']))
                            echo 'name';
                        if (count($errors) == 2)
                            echo ' a ';
                        if (isset($errors['pass']))
                            echo 'password';
                        echo '.</p>', "\n";
                    }
                }
           }
    if (isset($_SESSION['user'])) {
        $user = $_SESSION['user'];
    ?>

我页面的整个代码中的其他位置。我是否需要从该PHP代码中删除一些内容,或者我是否需要为此编写新的代码部分?

谢谢你的帮助,Matej

1 个答案:

答案 0 :(得分:3)

不是只在整个地方进行'echo',这意味着你可以在页面中嵌入PHP代码的地方输出,设置一些标志/消息变量以便稍后输出。

e.g。

<?php

$errors = false;
$msgs = '';

if (....) {
   $errors = true;
   $msgs = "something dun gone wrong";
}
?>

... various bits of your html go here ...
<?php if ($errors) { echo $msgs; } ?>
... more html here ...