Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
-8 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 25

Вывод ошибки на экран

07.12.2015, 22:22. Показов 1790. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
class Engine {
 
    private $_page_file = null;
    private $_error = null;
 
    public function __construct() {
        if (isset($_GET["page"])) { //Если открыта какая-нибудь страница
            //Записываем в переменную имя открытого файла (из GET запроса)
            $this->_page_file = $_GET["page"]; 
            //Небольшая защита
            $this->_page_file = str_replace(".", null, $_GET["page"]);
            $this->_page_file = str_replace("/", null, $_GET["page"]);
            $this->_page_file = str_replace("\\", null, $_GET["page"]);
 
             //Проверяем, если шаблон не существует
            if (!file_exists("templates/" . $this->_page_file . ".php")) {
                $this->_setError("Страницу не найдено"); // Выводит ошибку на экран.
                $this->_page_file = "error"; //Открывает страницу с ошибкой
            }
        }
         //Если в GET запросе нет переменной page, то открываем главную
        else $this->_page_file = "1";
    }
 
    private function _setError($error) {
        $this->_error = $error;
    }
 
    public function getError() {
        return $this->_error;
    }
 
    /**
     * Возвращает текст открытой страницы
     */
    public function getContentPage() {
        return file_get_contents("templates/" . $this->_page_file . ".php");
    }
 
    /**
     * Возвращает тег заголовок открытой страницы
     * @return string 
     */
    public function getTitle() {
        switch ($this->_page_file) {
            case "1":
                return "Головна";
                break;
            case "2":
                return "Про нас";
                break;
            case "3":
                return "Контакти";
                break;
            default:
                break;
        }
    }
 
}

Что меня интересует.
Хочу сделать так, что когда открывается левая страница на моей сайте, к примеру ocalhost/index.php?page=впварвр, чтоб оно выводило мне ошибку на экран, по центру.
PHP
1
2
3
4
            if (!file_exists("templates/" . $this->_page_file . ".php")) {
                $this->_setError("Страницу не найдено"); // Выводит ошибку на экран.
                $this->_page_file = "error"; //Открывает страницу с ошибкой
            }
Как видно тут, по скриншоте:
Оно выводит ошибку, но она обрезана под моим #header. И то, ее и вовсе не видно, если поставить position: fixed;, которой у меня в оригинальном коде.

HTML5
1
2
3
4
5
6
7
#header {
    top: 0;
    float: left;
    min-width: 100%;
    background-color: #171717;
        position: fixed;
    }
ВОПРОСЫ!
1. Как сделать, чтоб оно выбивало ошибку по центру?
2. Можно в php сделать оформления ошибки? (То есть, то что в коде, оно делает красную рамку вокруг текста).
3. Если нет. В моем коде оно переплавляет на страницу "error.php". Но, когда перенаправляет, оно оставляет мой header и footer. Как сделать, чтоб страница была чистая? Это уже скорей всего, вопрос по css.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.12.2015, 22:22
Ответы с готовыми решениями:

Не могу понять как делать вывод на экран структуры STUDENT на заполнение и вывод данных на экран
Добрый вечер. Вот задание и мой код программы на C++ Не выходит нормально реализовать 3е задание. Первая проблема в том, что вывод на...

вывод на экран случайного одномерного массива,ввод с клавиатуры одномерного массива и вывод его на экран.и все это в одной проге.как это сделать?
надо чтобы при запуске прграммы в паскале сначала вывелся на кран одномерный случайный массив,потом ввод с клавиатуры одномерного массива и...

Синий экран и ошибки
у меня раньше стояля vista итальянская поменял на руский xp и раньше и теперь иногда наченает тормозить звук ,замедляется процесы, играет...

10
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
07.12.2015, 22:27
Цитата Сообщение от python_user Посмотреть сообщение
1. Как сделать, чтоб оно выбивало ошибку по центру?
Это скорее относится к html/css
Цитата Сообщение от python_user Посмотреть сообщение
2. Можно в php сделать оформления ошибки?
Опять же с помощью php можно сгенерировать любую html-разметку и задать ей оформление с помощью css
Цитата Сообщение от python_user Посмотреть сообщение
Если нет. В моем коде оно переплавляет на страницу "error.php". Но, когда перенаправляет, оно оставляет мой header и footer. Как сделать, чтоб страница была чистая?.
Не выводить header и footer на данной странице
Цитата Сообщение от python_user Посмотреть сообщение
Это уже скорей всего, вопрос по css.
Можно конечно их скрыть через css, но как-то это не хорошо
0
-8 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 25
07.12.2015, 22:34  [ТС]
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Опять же с помощью php можно сгенерировать любую html-разметку и задать ей оформление с помощью css
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Не выводить header и footer на данной странице
И как это сделать?

Цитата Сообщение от python_user Посмотреть сообщение
Последний раз редактировалось Azdeman; Сегодня в 23:28. Причина: мы не слепые.
Что имелось ввиду? :S
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
07.12.2015, 22:37
Цитата Сообщение от python_user Посмотреть сообщение
И как это сделать?
Сделать что? Не выводить header? Не писать echo '<!-- тут html разметка хедера -->';
0
-8 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 25
07.12.2015, 22:43  [ТС]
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Сделать что?
Не выводить header и footer на данной странице.

Цитата Сообщение от Jewbacabra Посмотреть сообщение
Сделать что? Не выводить header? Не писать echo '<!-- тут html разметка хедера -->';
Можно подробней, я не понял вас.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
07.12.2015, 22:49
Цитата Сообщение от python_user Посмотреть сообщение
Не выводить header и footer на данной странице.
Если хедер где-то выводится, то чтобы он не выводился логично не выполнять ту часть кода, которая отвечает за вывод хэдера
Цитата Сообщение от python_user Посмотреть сообщение
Можно подробней
Подробнее нужно спрашивать у автора кода, лучше него никто не скажет.
0
-8 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 25
08.12.2015, 03:32  [ТС]
Если у вас будет возможность, сможете глянуть? Я прикрепил сайт.
Я бум-бум в php и не совсем понимаю, что вы говорите.
После 3 часов экспериментов с кодом, я уже сдулся на сегодня.

В общем, если кто-то имеет возможность помочь, еще раз повторюсь, чтоб не было путаниц.
1. Когда кликаешь на несуществующую страницу, чтоб оно открывало error.php.
2. И чтоб, когда открывало error.php, не был включен header и footer.
Вложения
Тип файла: rar www.rar (22.2 Кб, 1 просмотров)
0
Web Programmer
 Аватар для JimUSA
325 / 286 / 121
Регистрация: 28.09.2011
Сообщений: 1,570
08.12.2015, 05:57
Лучший ответ Сообщение было отмечено python_user как решение

Решение

Какой код такое решение
Вложения
Тип файла: rar www.rar (22.2 Кб, 8 просмотров)
1
-8 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 25
08.12.2015, 15:19  [ТС]
Цитата Сообщение от JimUSA Посмотреть сообщение
Какой код такое решение
Большое спасибо!
Запустил и все так, как я хочу. Теперь буду разбираться, как вы это сделали :3
0
0 / 0 / 0
Регистрация: 19.10.2016
Сообщений: 4
27.10.2016, 17:21
скажите пожалуйста в этом коде $this->_setError("Страницу не найдено"); // Выводит ошибку на экран.
//Открывает страницу с ошибкой сказано что оно будет выводить ошибку,но в определении функции нету ни слова print ни echo! (private function _setError($error) {
$this->_error = $error;
})
подскажите,как php понимает что нужно не только записать сеттером переменную,но и вывести это на экран
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
27.10.2016, 17:30
Цитата Сообщение от Владимир201 Посмотреть сообщение
подскажите,как php понимает что нужно не только записать сеттером переменную,но и вывести это на экран
Никак не понимает - php туп, что ему сказали, то он дословно и сделал. Если не смог сделать, то сообщил почему. Значит вывод реализован где-то еще
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.10.2016, 17:30
Помогаю со студенческими работами здесь

Вывод ошибки
Добрый вечер форумчане , ребят новичок в PHP. Подскажите такой вот момент. у меня есть три переменные которые через Html форму методом...

Вывод ошибки
Делал на днях проект. Сегодня случайно удалил. Удалось почти все установить кроме нескольких вещей Не выводит должным образом окно...

Вывод ошибки
Допустим есть файл 1.php: &lt;form action=&quot;2.php&quot; method=&quot;post&quot;&gt;&lt;br&gt; &lt;table border=2 width=400&gt; &lt;td width=150&gt;Введите имя &lt;/td&gt; ...

Сгенерировать и вывести на экран массив с 10 случайных чисел в диапазоне от -100 до 100. Цикличный сдвиг массива влево на 1 и вывод на экран
Помогите написать программку в Паскале, что сгенерирует и выведет на экран массив с 10 случайных чисел в диапазоне от -100 до 100. Делает...

Синий экран и код ошибки
Добрый день. Можно ли по коду точно исправить ошибку допустим в windows 10? Много встречал в своей практике компьютеры с синим экраном но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru