PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (8): « 1 [2] 3 4 5 6 7 8 »

> Найдено сообщений: 109
Opposite Отправлено: 18 Марта, 2012 - 19:00:00 • Тема: Предупреждающее окно js в php • Форум: Вопросы новичков

Ответов: 5
Просмотров: 201
Девушка, вы смешали борщ с салатом )
(Добавление)
И через js такое не делается, иначе зайдет к вам некий Вася, и выполнит скрипт столько раз, что ваша таблица останется пустой. Тут нужен ajax, но, мне кажется, вам стоит начать с более простых задач - это все таки сложновато.
Opposite Отправлено: 18 Марта, 2012 - 18:48:30 • Тема: exit и die • Форум: Вопросы новичков

Ответов: 4
Просмотров: 269
exit() = die().
Иначе говоря. Это алиас.

(Добавление)
Исключения - Exceptions
PHP:
скопировать код в буфер обмена
  1.  
  2. try {
  3.     error = '';
  4.     if(true) {
  5.           throw new Exception("Ошибка. Условие истинно");
  6.      }
  7.      echo 'верно';
  8. }
  9. catch (Exception $e) {
  10.     die($e->getTraceAsString());
  11.     /* Или здесь может быть другой код, который выполнится в случае исключения, например, echo "Невозможно ..."; // тогда код продолжит выполнение
  12.      */
  13. }
  14.  
Opposite Отправлено: 18 Марта, 2012 - 18:15:21 • Тема: что делает preg_match? • Форум: Вопросы новичков

Ответов: 19
Просмотров: 533
PHP:
скопировать код в буфер обмена
  1.  
  2. public function __construct() {
  3.                 session_start();
  4.                
  5. require_once('engine/users.php');
  6. require_once('engine/func.php');
  7.                 $this->user = new user;
  8.                 $this->user->auth();
  9.  

Братиш, твои инклуды классов в класс меня огорчают. Сделай их вне класса
Opposite Отправлено: 18 Марта, 2012 - 17:41:38 • Тема: функция обработки • Форум: Вопросы новичков

Ответов: 10
Просмотров: 309
Не используй глобальные переменные - это плохой тон в программировании. Позже поймешь почему Хм
Opposite Отправлено: 18 Марта, 2012 - 17:04:30 • Тема: функция обработки • Форум: Вопросы новичков

Ответов: 10
Просмотров: 309
Разнесу!
Opposite Отправлено: 18 Марта, 2012 - 17:02:33 • Тема: что делает preg_match? • Форум: Вопросы новичков

Ответов: 19
Просмотров: 533
Ну ок) Ты бы хотя бы ошибки копировал сюда. Ха-ха А то нам гадать приходится Ниндзя
Opposite Отправлено: 18 Марта, 2012 - 16:39:59 • Тема: что делает preg_match? • Форум: Вопросы новичков

Ответов: 19
Просмотров: 533
session_start отправляет кукисы, кукисы летят в заголовках, заголовки должны лететь раньше, чем содержимое страницы. Ты изменяешь заголовки после того, как вывел на страницу содержимое.

Грубо говоря, ты сам вырыл себе яму : уж слишком ты много вешаешь на объекты класса user. Сам подумай, что такое user? Это логин, пароль ( возможно ) и остальные данные касающиеся его личности ( icq, skype ), но никак не сессии, не запросы к БД. Я признаюсь, что сам не силен в ООП, но для меня это кажется уже очевидным, что тебе нужно сделать здесь что-то вроде механизма, который будет штопать этих юзеров, грубо говоря делать объекты. Почитай про паттерн "фабрика". Будет полезно Подмигивание
Opposite Отправлено: 18 Марта, 2012 - 16:32:04 • Тема: что делает preg_match? • Форум: Вопросы новичков

Ответов: 19
Просмотров: 533
До вывода на страницу нет, надеюсь?
Opposite Отправлено: 18 Марта, 2012 - 15:39:14 • Тема: что делает preg_match? • Форум: Вопросы новичков

Ответов: 19
Просмотров: 533
Считай, что это был оффтоп
Opposite Отправлено: 18 Марта, 2012 - 15:34:07 • Тема: что делает preg_match? • Форум: Вопросы новичков

Ответов: 19
Просмотров: 533
Хотел бы такой вопрос задать ... разве не было бы логичнее вынести аутентификацию за класс в клиентский код? По моему мнению, аутентификация в классе юзверя нарушает приниципы метафоры => нарушает принципы ООП. Грубо говоря, юзверь - это ты, тебя сделали мама и папа, тебя сделал конструктор мамы, но, как ты там делался и как тебя отбирал наш Всевышний, тебе неизвестно, так почему же юзер должен знать, как он был создан?))
Opposite Отправлено: 18 Марта, 2012 - 14:47:09 • Тема: Exceptions • Форум: Вопросы новичков

Ответов: 3
Просмотров: 143
Вы не смотрите это как на готовый код : я его взял лишь для примера. Мне надо только понять смысл исключений : вывести ошибку я всегда смогу, но мне хотелось бы перезапустить процесс по новому с другим параметром, и уж если не найдет совсем, то выбрать другое исключение и наконец выдать ошибку. Получается, надо становится индусом и писать то же самое? Шлепать функции, я считаю, бессмысленно под код, который вызывается 2 раза за все время.
Opposite Отправлено: 18 Марта, 2012 - 14:26:01 • Тема: Exceptions • Форум: Вопросы новичков

Ответов: 3
Просмотров: 143
Вопрос больше на теорию, чем на практику.

Когда сгенерировалось исключение, его должен обработать клиентский код ( тот, что выше по иерархии, условно говоря).

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

Грубо говоря :

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. class Conf {
  4.    private $file;
  5.    private $xml;
  6.    private $lastmatch;
  7.    
  8.    public function __construct($file) {
  9.        if(!file_exists($file)) {
  10.            throw new Exception("Файл $file не найден");
  11.        } else $this->file = $file;
  12.        $this->xml = simplexml_load_file($file);
  13.    }
  14. }
  15. try {
  16.    $file = "enew.xml"; // файла enew.xml нет в корневой директории
  17.    $conf = new Conf(); // => будет исключение
  18.    echo 'user: ' . $conf->get('user') . '<br />';
  19.    echo 'host: ' . $conf->get('host') . '<br />';
  20.    $conf->set('port', '3305');
  21.    //$conf->write();
  22. }
  23. catch (Exception $e) {
  24.    // код поиска в новом месте => находим $file в "xmls/"
  25.    // $file = "xmls/enew.php";
  26.    // как заставить код выше выполниться заного?
  27. }
  28. ?>
  29.  

Я уже понял, что процесс можно убить после исключения, но мне это не надо ... надо, чтобы перехватчик исключений catch исправил проблему и попробовал выполнить то же самое, но с другим значением $file. Неужели, чтобы он выполнился, необходимо его тупо переписать? Или Exception-ы так устроены, что они возвращаются в точку своего "возникновения" Не понял ?

(Добавление)
Я не хочу быть индусом, но разве не так? Не понял
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. try {
  4.   $file = "enew.xml"; // файла enew.xml нет в корневой директории
  5.   $conf = new Conf(); // => будет исключение
  6.   echo 'user: ' . $conf->get('user') . '<br />';
  7.   echo 'host: ' . $conf->get('host') . '<br />';
  8.   $conf->set('port', '3305');
  9.   //$conf->write();
  10. }
  11. catch (Exception $e) {
  12.   // код поиска в новом месте => находим $file в "xmls/" => $file = "xmls/enew.php";
  13.   $file = "xmls/enew.php";
  14.   $conf = new Conf();
  15.   echo 'user: ' . $conf->get('user') . '<br />';
  16.   echo 'host: ' . $conf->get('host') . '<br />';
  17.   $conf->set('port', '3305');
  18.   //$conf->write();
  19. }
  20. ?>
  21.  


Неужели других вариантов нет?
Opposite Отправлено: 17 Марта, 2012 - 16:01:34 • Тема: Паттерны проектирования • Форум: Вопросы новичков

Ответов: 39
Просмотров: 1571
Язычок
Opposite Отправлено: 17 Марта, 2012 - 14:51:11 • Тема: Паттерны проектирования • Форум: Вопросы новичков

Ответов: 39
Просмотров: 1571
Паттерны полезны при разработке крупных проектов как минимум потому, что на языке паттернов можно быстро и правильно разработать архитектуру проекта, не прибегая к проблемам реализации - это позволяет сконцентрироваться на более глобальных проблемах. Хм
Opposite Отправлено: 17 Марта, 2012 - 14:42:57 • Тема: Паттерны проектирования • Форум: Вопросы новичков

Ответов: 39
Просмотров: 1571
Закатив глазки Помогите с литературой? Кто по каким материалам разбирался в них?

Модераторы скажут, почему я делаю тему о литературе, мол можно и самому разобраться. Растерялся Отвечаю: вам должно быть известно, что время - деньги. Я не хочу терять время не только на чтение ненужной информации, но и на переучивание, после того, как я её перечитаю. Поэтому прошу вашей помощи )

Страниц (8): « 1 [2] 3 4 5 6 7 8 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB