PHP.SU

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

Страниц (3): [1] 2 3 »

> Найдено сообщений: 43
levchick Отправлено: 28 Апреля, 2011 - 08:49:13 • Тема: Постраничная навигация • Форум: Работа с СУБД

Ответов: 6
Просмотров: 2728
http://php.su/articles/?cat=exam...les&page=062
levchick Отправлено: 12 Апреля, 2011 - 07:20:07 • Тема: Лишние запросы к базе или $_SESSION ? • Форум: Программирование на PHP

Ответов: 2
Просмотров: 286
Вы не почувствуете разницу между запросами к сессии и запросами к БД. Да, конечно она будет, но для человеческого глаза это будет не заметно. Только в случае с исльзованием сессий Вам придется заморачиваться за отслеживанием изменения иформации в БД, а это опять же теже запросы..
levchick Отправлено: 11 Апреля, 2011 - 18:36:29 • Тема: Как определить "Кто онлайн" ? • Форум: Программирование на PHP

Ответов: 8
Просмотров: 467
new01 пишет:
levchick пишет:
При любых действиях пользователя записывать время. При выводе проверять, если время больше, скажем, минут 15, значит скорее всего пользователь ушел с сайта.

Блин точно.Неплохая идея.!


Улыбка рад был помочь
levchick Отправлено: 11 Апреля, 2011 - 17:06:33 • Тема: Как определить "Кто онлайн" ? • Форум: Программирование на PHP

Ответов: 8
Просмотров: 467
При любых действиях пользователя записывать время. При выводе проверять, если время больше, скажем, минут 15, значит скорее всего пользователь ушел с сайта.
levchick Отправлено: 11 Апреля, 2011 - 13:11:27 • Тема: удалить сразу из нескольких таблиц • Форум: Программирование на PHP

Ответов: 4
Просмотров: 592
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. //константа с именем поля, по которому удаляем
  5. define("ID_FIELD", "name_id");
  6.  
  7. //массив с именами таблиц и сущностей, хранящихся в ней
  8. $sqlArray=array(
  9.     'names'=>'id',
  10.     'tracklist'=>'альбомы',
  11.     'history'=>'история',
  12.     'keys'=>'ключи',
  13.     'keywords'=>'ключи исторрий'
  14. );
  15.  
  16. $id=1;//для примера
  17.  
  18.  
  19. foreach ($sqlArray as $tableName => $entityName)
  20. {
  21.     //подготовка запроса
  22.     $query="DELETE FROM `{$tableName}` WHERE `".ID_FIELD."` = '{$id}'";
  23.    
  24.     if (mysql_query($query))
  25.     {
  26.         echo"{$entityName}: успешное удаление<br>";
  27.     }
  28.     else
  29.     {
  30.         echo"{$entityName}: ".mysql_error()."<br>";
  31.     }
  32. }
  33.  
  34. ?>
  35.  


Можно оформить в виде функции, которая принимает в себя значение $id, или все три необходимых параметра ($id, $sqlArray, ID_FIELD).

ИМХО, работать со связями в разы проще, чем заботиться о целостности самому...
levchick Отправлено: 11 Апреля, 2011 - 09:14:31 • Тема: удалить сразу из нескольких таблиц • Форум: Программирование на PHP

Ответов: 4
Просмотров: 592
Если используется InnoDB, достаточно указать связи между таблицами и выставить ondelete в cascade. В этом случае при удалении записи из `names`, зависимые записи из всех зависимых таблиц удалятся автоматически
levchick Отправлено: 09 Апреля, 2011 - 19:33:54 • Тема: Борьба со спамом • Форум: Программирование на PHP

Ответов: 38
Просмотров: 2423
Vasiliya пишет:
пока я кое-что не сделала


Ну раз уж тема пошла, рассказывайте, что же Вы сделали.
levchick Отправлено: 09 Апреля, 2011 - 19:22:19 • Тема: Проблема с логином • Форум: Программирование на PHP

Ответов: 15
Просмотров: 889
LIMIT {номер строки, с которой начинаем выбирать},{кол-во выбираемых строк}

В MySQL, как и принято в программировании, нумерация начинается с 0. Так что, первая строка таблицы имеет номер 0 и именно с нее мы начинаем выбирать. Если указать LIMIT 1,1 - то мы вернем вторую строку таблицы.
(Добавление)
Если первый парамент пропущен - по умолчанию, подствавляется 0. Так что, тождественны только LIMIT 1 и LIMIT 0,1
levchick Отправлено: 09 Апреля, 2011 - 19:14:19 • Тема: Автоообновление iframe • Форум: Программирование на PHP

Ответов: 4
Просмотров: 291
Существует замечтательная вещь на эту тему - регулярные выражения. Смысл в том, что вы задаете как раз такой шаблон поиска, через специальные правила.

К сожалению я в них не сильно шарю, по этому сходу Вам не подскажу. Смотрите в сторону preg_replace() и почитайте теорию по регуляркам.
levchick Отправлено: 09 Апреля, 2011 - 19:09:29 • Тема: защита при uploade файлов пользователями сайта • Форум: Программирование на PHP

Ответов: 6
Просмотров: 363
Не один из способов проверки не будет являться универсальным - защита всегда используется в комплексе. Так что любая проверка будет должно работать только в содружестве с другими методами. И еще, защита лишней не бывает (ну конечно если это сильно не сказывается на производительности), так что можно и запретить исполнение скриптов, и MIME проверять..
(Добавление)
P.S. Взломать можно все что угодно, вопрос рентабельности...
levchick Отправлено: 09 Апреля, 2011 - 18:59:47 • Тема: защита при uploade файлов пользователями сайта • Форум: Программирование на PHP

Ответов: 6
Просмотров: 363
В общем да, но если вы ожидаете в загрузке файл определенного формата (картинку например), то лучше проверять MIME и отсеивать ненужное...
levchick Отправлено: 09 Апреля, 2011 - 08:02:09 • Тема: Борьба со спамом • Форум: Программирование на PHP

Ответов: 38
Просмотров: 2423
Champion пишет:
http://habrahabr[dot]ru/blogs/php/28151/ во такая капча


В коментариях к этой капче описано, как минимум, два способа ее распознатьУлыбка
(Добавление)
Haron пишет:
Цитата:
Сохраняют ли боты куки

Нормальные боты - сохраняют. Технически сохранить куки, труда не составляет.
(Для php - есть замечательная библиотека Snoopy к примеру. Под ней многие хорошие вещи написаны были).

Насчёт капчи... Почему бы простую матановую капчу не попробовать?



Ну да, ступил.. ведь им как минимум нужно посылать ID сессии, что бы система не потеряла верный ответ. Тогда проблема с кол-во попыток решается просто - записывать в сессию.

Матановая капча это конечно здорово, только далеко не все посетители интернета (к сожалению) получали высшее техническое образование. Такая капча хороша на специализированных сайтах.
levchick Отправлено: 07 Апреля, 2011 - 08:40:15 • Тема: Авторизация на Браузере • Форум: Программирование на PHP

Ответов: 18
Просмотров: 1947
Логично, задача состоит в том, что бы послать браузеру сообщение, что б он сбросил данные
levchick Отправлено: 07 Апреля, 2011 - 08:26:04 • Тема: Авторизация на Браузере • Форум: Программирование на PHP

Ответов: 18
Просмотров: 1947
хм.. значит не в этом дело, убирайте session_...
(Добавление)
Скорее всего браузер сохраняет пароль и при обращении к другой странице посылает его вновь, вечером протестирую этот пример у себя и напишу как справиться с проблемой
levchick Отправлено: 07 Апреля, 2011 - 08:17:27 • Тема: Авторизация на Браузере • Форум: Программирование на PHP

Ответов: 18
Просмотров: 1947
Отключите все запоминалки паролей в браузере. Поместите этот код в admin\start.php в самое самое начало.

PHP:
скопировать код в буфер обмена
  1.  
  2. if ($_GET['logout']==1)
  3. {
  4.        unset($_SERVER['PHP_AUTH_USER']);
  5.        unset($_SERVER['PHP_AUTH_PW']);
  6.        session_unset();
  7.        session_destroy();
  8. }
  9.  

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB