хотите разместить часть кода php где-то еще на странице - PullRequest
0 голосов
/ 24 марта 2012

Я очень новичок в php.Я нашел немного кода, похожего на CMS, для восточного редактирования текста здесь, на SO, и сейчас я пытаюсь реализовать его на нашем микро-сайте.Моя проблема в том, что я хочу, чтобы в отчете об ошибках входа отображалась точная позиция на странице - просто под кнопкой входа в систему.Может кто-нибудь сказать мне, как я могу поместить этот текст сообщения об ошибке, где я хочу?Я не хочу переопределять это с помощью позиционирования 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-кода или мне нужно написать для этого новую часть кода?

Спасибо за помощь, Матей

1 Ответ

3 голосов
/ 24 марта 2012

Вместо того, чтобы просто делать 'echo' повсеместно, что означает, что вы получаете вывод в том месте, где PHP-код встроен в страницу, установите некоторые флаги / переменные сообщения для вывода позже.

например

<?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 ...
...