PHP.SU

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

Страниц (24): В начало « ... 2 3 4 5 [6] 7 8 9 10 ... » В конец

> Найдено сообщений: 359
Hapson Отправлено: 09 Марта, 2014 - 13:54:29 • Тема: try...catch Ошибки и Исключения • Форум: Вопросы новичков

Ответов: 36
Просмотров: 1690
OrmaJever пишет:
то есть когда в коде произошла ошибка, вы кидаете исключение

Ну вот ошибка и произошла, но catch не сработал, так как он не реагирует на ошибки.
Это что получается, код должен выглядеть так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if($_SERVER['REQUEST_METHOD'] == 'POST'){
  4.         try{
  5.                 if(!isset($_POST['email'])){
  6.                         throw new Exception(/* ... */);
  7.                 }else{
  8.                         $email = $_POST['email'];
  9.                 }
  10.                 if(!isset($_POST['password'])){
  11.                         throw new Exception(/* ... */);
  12.                 }else{
  13.                         $email = $_POST['password'];
  14.                 }
  15.         }catch(Exception $e){
  16.                 // переадресация на форму входа
  17.                 // и вывод ошибки пользователю
  18.         }
  19.         // ...
  20. }
  21. ?>
  22.  


Не понимаю...
Или чтобы ловить ошибки нужно писать свой обработчик ошибок и уже в нем обрабатывать ошибку, а затем вызывать throw new ErrorException() ?
Hapson Отправлено: 09 Марта, 2014 - 13:27:17 • Тема: try...catch Ошибки и Исключения • Форум: Вопросы новичков

Ответов: 36
Просмотров: 1690
Всем привет!
Читал мануал, но что-то никак не отдуплю - что такое исключения, и чем они отличаются от ошибок?
Ну вот к примеру такой код:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if($_SERVER['REQUEST_METHOD'] == 'POST'){
  4.         try{
  5.                 $email = $_POST['email'];
  6.                 $password = $_POST['password'];
  7.         }catch(Exception $e){
  8.                 // переадресация на форму входа
  9.                 // и вывод ошибки пользователю
  10.         }
  11.         // ...
  12. }
  13. ?>
  14.  

Ситуация такая: юзер открывает firebug, удаляет поле password и отправляет форму.
Я наивно полагал, что сработает блок catch, так как в массиве $_POST не будет поля password. Однако получил Notice и не попал в catch.

Отсюда вопрос: что такое исключение и как перехватить ошибки в блоке try?
Hapson Отправлено: 02 Марта, 2014 - 17:01:16 • Тема: Обновить значение и получить его • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 52
teddy, Мелкий
Понятно. Жаль...
Написал голосовалку на ajax (рейтинг статей), так получилось 4 запроса на обработку голоса.
Сначала узнать, не голосовал ли юзер за эту статью, если нет, то внести его id и id статьи в табличку учета голосов, обновить количество голосов у статьи и наконец получить это количество... Написал через транзакцию последние три запроса.
Hapson Отправлено: 02 Марта, 2014 - 15:47:37 • Тема: Обновить значение и получить его • Форум: SQL и Архитектура БД

Ответов: 6
Просмотров: 52
Помогите составить запрос. Смысл таков:

  • сначала нужно обновить значение в таблице
  • получить это значение

То есть:
PHP:
скопировать код в буфер обмена
  1.  
  2. $sql = "UPDATE `articles` SET `rating_good` = `rating_good` + 1 WHERE `id_article` = 1";
  3. // обновляем...
  4. $sql = "SELECT `rating_good` FROM `articles` WHERE `id_article` = 1";
  5. // получаем...
  6.  

Можно ли это сделать за один запрос?
Hapson Отправлено: 21 Февраля, 2014 - 16:49:10 • Тема: Проверка существования логина. • Форум: Вопросы новичков

Ответов: 12
Просмотров: 547
Crowley
Вариантов масса, нужно только заглянуть на php.net
Касательно первого поста... ты читал описание mysql_fetch_array ? Мне кажется нет. Как это ты на empty проверяешь то, чего вообще может не быть. Не надежнее ли использовать mysql_num_rows ?
Куча вариантов, нужно мануал почитать.
Hapson Отправлено: 18 Февраля, 2014 - 21:13:49 • Тема: Обновление куки. • Форум: Вопросы новичков

Ответов: 3
Просмотров: 194
Dark_Knight пишет:
Как решить проблему с обновлением куки?

... обнови куки.
Hapson Отправлено: 15 Февраля, 2014 - 18:06:37 • Тема: Связь с бд • Форум: Вопросы новичков

Ответов: 7
Просмотров: 189
shekler пишет:
using password: NO

Пароля нет, а ты его используешь - оставь пустую строку вместо пароля
Hapson Отправлено: 15 Февраля, 2014 - 18:04:49 • Тема: удалить из перемнной теги • Форум: Вопросы новичков

Ответов: 5
Просмотров: 188
ПТО
Учти, что стрип тагс не проверяет валидность html, так что возможны неожиданности...
Hapson Отправлено: 12 Февраля, 2014 - 18:14:29 • Тема: Обфускация • Форум: Вопросы новичков

Ответов: 21
Просмотров: 654
NeuroZ пишет:
Нормальные пользователи - это те у которых отключен javascript в браузере?)

Для веб разработчика любой пользователь ненормальный хакер. Но это не означает, что нужно вставлять палки в колеса, ведь в реале ненормальных хакеров мало. И почему ты считаешь отключение жаба скрипта преступлением? Ну вот захотелось юзеру отключить, может есть на то причины у него. Нужно чтобы работоспособность сайта зависела от как можно меньшего количества факторов. Жаба скриптом можно делать всякие плюшки.
А вот если жаба скрипт выполняет то, без чего твой сайт рушится, то тогда будь добр покажи ненормальным юзерам баннер, который им в цвет все скажет, например так:
http://screenshotuploader[dot]com/s/1402253tv
Hapson Отправлено: 25 Января, 2014 - 23:19:44 • Тема: Секундная задержка ожидания ответа апача • Форум: Apache и другие веб-серверы

Ответов: 0
Просмотров: 393
Такая вот оказия случилась...
Сегодня заметил, что апач стал тормозить. При запросе любого локального хоста, при ответе сервера происходит постоянная задержка 1-1.5 сек.
Если что-то подгружается непосредственно на странице (javascript, css, картинки...), то загрузка идет мгновенно. Если скрипт делает перенаправление через header(), то тоже секундная задержка.
В чем причина такого поведения не пойму. Ничего не правил, ничего не устанавливал, да вообще ничего с пыхом и апачем не делал. Писал жабаскрипт подсветки синтаксиса и вдруг заметил что скрипт долго стал работать. Подумал что что-то в жабаскрипте намудрил, но как оказалось это апач или пых - уж не знаю...

Прилагаю скрин, там видно все. Процесс такой: php считывает файл и выводит его в шаблон. Дальше javascript берет эти выведенные данные и раскрашивает. И php и javascript отрабатывают быстро, но в ответе секундная задержка.
http://clip2net[dot]com/s/6FMma3
Apache/2.2.25 (Win32) PHP/5.4.21
php подключен как модуль
(Добавление)
Вот еще такой наглядный и простой пример:
Есть два файла в папке локального хоста

index.html


index.php
PHP:
скопировать код в буфер обмена
  1. <h1><?PHP echo 'Hello!!!'; ?></h1>


При запросе и того и того секундная задержка.
(Добавление)
Все, вопрос закрыт.
Решилось все заменой пыха на PHP/5.4.24
Hapson Отправлено: 29 Декабря, 2013 - 19:39:42 • Тема: Выпадающий список в форме • Форум: Объектно-ориентированное программирование

Ответов: 3
Просмотров: 875
http://www.php.net/manual/ru/lan...l-structures.php

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $params = /* массив из базы */;
  4.  
  5. echo "<select>";
  6. foreach($params as $value => $text){
  7.         echo "<option value=\"$value\">$text</option>\n";
  8. }
  9. echo "</select>";
  10.  
  11. // или
  12.  
  13. echo "<select>";
  14. for($z = 0, $cnt = count($params); $z < $cnt; $z++){
  15.         echo "<option value=\"{$params[$z]}\">{$params[$z]}</option>\n";
  16. }
  17. echo "</select>";
  18. ?>
  19.  
Hapson Отправлено: 23 Декабря, 2013 - 18:23:43 • Тема: Запись в базу массива • Форум: Напишите за меня, пожалуйста

Ответов: 23
Просмотров: 193
webog пишет:
Для unserialize нужно varchar или tex ?

Нужно сходить на php.net
Hapson Отправлено: 23 Декабря, 2013 - 18:14:45 • Тема: Запись в базу массива • Форум: Напишите за меня, пожалуйста

Ответов: 23
Просмотров: 193
webog
PHP:
скопировать код в буфер обмена
  1.  
  2. $users = array('Вася', 'Коля', 'Маша');
  3. $users = serialize($users);
  4. /*
  5. * ...
  6. * запись в базу
  7. * считывание
  8. * ...
  9. */
  10. $users = unserialize($users);
  11.  
Hapson Отправлено: 19 Декабря, 2013 - 13:19:29 • Тема: Хитрый rewrite для Apache • Форум: Apache и другие веб-серверы

Ответов: 3
Просмотров: 267
skeletor
http://htaccess[dot]net[dot]ru/

Страниц (24): В начало « ... 2 3 4 5 [6] 7 8 9 10 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB