![]() |
Показаны 13 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- Просмотр тех новостей что были добавлены за текущий день, меяц (http://netadmin.ws/forum/showthread.php?threadid=4439)
Просмотр тех новостей что были добавлены за текущий день, меяц
нуна сделать так чтобы можно было поcмотреть по указанной дате нажатой в календаре ссыле, к примеру если нажму на 28 число, то должны появиться те новости что были добавленны именно в этот день, если у меня такая ссылка
http://localhost/mysite/category/in...month=02&day=28
если такая
http://localhost/mysite/category/in...r=2003&month=02
то толжна вывести те новости, что были добавлены за текущи месяц.
это надо я так думаю сделать специальный запрос который будет выберать из базы по указанной дате?
принцип такойже что и у скрипта pMachinePro маленький календарь
в моём скрипте
столбци в MySQL для даты у меня свои для каждой, т.е
year - год
month - месяц
day - день
вот сам календарь
__________________
Web-Zona
quote:Жуть. Зачем? Когда можно одно поле DATE создать? Потом выборку можно будет сделать одним коротким запросом.
столбци в MySQL для даты у меня свои для каждой, т.е
year - год
month - месяц
day - день
всё разобрался, через ссылку передал в
$year = $_GET['year'];
$month = $_GET['month'];
$day = $_GET['day'];
а через переменные а в запрос
year='$year' AND month='$month' AND day='$day'
quote:
Жуть. Зачем? Когда можно одно поле DATE создать? Потом выборку можно будет сделать одним коротким запросом.
__________________
Web-Zona
ANDRY,
На самом деле при выборке можно стандартными функциями MySQL всё в том же одном запросе разделить дату, как тебе будет угодно
дабы не писать лишние килобайты php-кода.
Но вообще дело вкуса
quote:А можно и не назначать лишний раз. Опять же просто написать:
$year = $_GET['year'];
$month = $_GET['month'];
$day = $_GET['day'];
а через переменные а в запрос
year='$year' AND month='$month' AND day='$day'
year='".$_GET['year']."' AND month='".$_GET['month']."' AND day='".$_GET['day']."'
quote:
А можно и не назначать лишний раз
__________________
Web-Zona
ANDRY,
Я уже говорил - можно обойтись функциями MySQL. Допустим, у тебя в поле data хранится дата. Тогда запрос делается примерно так:
select * from table where MONTH(data)='".$_GET['month']."'
MONTH() - одна из date-&-time функций MySQL..
Nevermind, спасибо, на заметку, потом если буду что нибудь писать то сделаю в одном столбце.
А на этом скрипте много исправлять придётся
__________________
Web-Zona
интересно а что если вместо числа в переменой из GET вставить что то типа 'DELETE FROM tablename...; DROP database,'..
Все что доходит до базы должно либо проверяться либо приводиться к безобидному виду (escape)
RFTM: SQL injection
__________________
FAQ OFF
SELECT * FROM $dbtable WHERE year=$year and month = $month ORDER BY id DESC;
Вместо id поставь свой идентивикатор
__________________
Ковчег построили дилетанты, а профессионаллы построили "Титаник" - не бойтесь спрашивать то , чего вы не знаете , а так же делать то - чего не умеете ! 
quote:
Все что доходит до базы должно либо проверяться либо приводиться к безобидному виду (escape)
__________________
Web-Zona
Если ты знаешь что можно выбрать из базы уже можно проверить переданное значение на допустимость. Например если чисел в месяце от 1 до 31 значит в GET должна быть переменная являющаяся числом(is_int($var)), не меньше 1 и не больше 31 если она удовлетворяет этим условиям значит с переменной можно работать если нет, посылаем юзера нафик и используем свое значение по умолчанию... так же смотри в мануале ПХП все фунции со словом escape в названии..
__________________
FAQ OFF
ну это я знаю насчёт циферок, а если допустим у меня не циферки а слова к примеру названия раздела(категории)
пример
http://localhost/mysite/news/more.php?news_cat=sport&year=2003&month=03&day=25&id=128
здесь в таблице news_cat имеется название sport
так вот, в место его можно вставить как ты уже говорил 'DELETE'
делать на ограничение символов - нет то
делать регистр символов тоже нето
может зделать проверку на нахождение какого либо слова и замены его на что-то, если кто то решит вставить 'DELETE' то оно должно замениться на ничего, это бедет правельное решение, или есть другое лутьше?
ANDRY добавил 19-03-2003 в 04:41:28:
кстати насчёт защиты, есть такой скрипт он ещё в думпе лежит SiteWorks Professional 5.0
так вот, я содрал с него авторизацию и управление юзерами, как ты думаешь защита у него неплохая? я его на свой движок вставляю
__________________
Web-Zona
RFTM: mysql, escape, security
http://www.php.net/docs.php
http://www.php.net/manual/ru/security.php
http://www.php.net/distributions/ma...nual_ru.tar.bz2
__________________
FAQ OFF
| Формат времени GMT. Текущее время 22:17. | Показаны 13 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.