воскресенье, 28 августа 2011 г.

RFpro.ru: КОМПЬЮТЕРЫ И СОФТ / Программирование / PHP


Если выпуск отображается некорректно, Вы можете посмотреть его на сайте

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Андреенков Владимир aka Black Cloud
Статус: Профессор
Рейтинг: 4616
• повысить рейтинг »
Коцюрбенко Алексей aka Жерар
Статус: Профессор
Рейтинг: 2637
• повысить рейтинг »
vladisslav
Статус: 8-й класс
Рейтинг: 1318
• повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / PHP

Номер выпуска:1238
Дата выхода:28.08.2011, 13:00
Администратор рассылки:Устинов С.Е. (Профессионал)
Подписчиков / экспертов:278 / 140
Вопросов / ответов:3 / 7

Консультация # 44010: Здравствуйте, уважаемые эксперты! Очень нужна ваша помощь. Есть три таблицы MySQL: вакцины, страны-производители и консерванты. вакцины: id AUTO_INCREMENT, country INT, kons TINYTEXT. страны :id AUTO_INCREMENT, country VARCHAR(30). консерванты: id AUTO_INCREMENT, country VARCHAR(30). Никак не получатся посторить запрос на поиск вакц...


Консультация # 180344: Здравствуйте. скажите пожалуйста как при помощи htaccess можно сделать реврайт урл, то есть мы заходим на HTTPS://site.ru/dir/file.php, ссылка не меняется, а данные берутся с HTTP://site.ru/dir/file.php... и можно ли таким образом *запутать* браузер, и предотвратить покаж сообщений о непроверенном сертификате? если нет, то подскажите пожалуйс...
Консультация # 32139: Не подкажете алгоритм перебора символов.... Т.е. из массива символов создаётся база паролей от 1 до n символов. Помогите, пжлуста....А то уже две ночи не сплю, не получается...

Консультация # 44010:

Здравствуйте, уважаемые эксперты! Очень нужна ваша помощь. Есть три таблицы MySQL: вакцины, страны-производители и консерванты.
вакцины: id AUTO_INCREMENT, country INT, kons TINYTEXT.
страны :id AUTO_INCREMENT, country VARCHAR(30).
консерванты: id AUTO_INCREMENT, country VARCHAR(30).
Никак не получатся посторить запрос на поиск вакцины с использованием checkbox`ов. Т.е. выбираем несколько стран, несколько консервантов, и достаются из таблицы те вакцины, которые произведены в этих странах и не содержат данных консервантов. Подскажите, пожалуйста!!!

Дата отправки: 23.05.2006, 18:09
Вопрос задал: Андрющенко Вячеслав Васильевич
Всего ответов: 3
Страница онлайн-консультации »


Консультирует Zysoftik (Студент):

Здравствуйте, Андрющенко Вячеслав Васильевич!

У Вас есть несколько путей:

1. Использовать функцию MySQL POSITION (str IN fld). Это поиск вхождения строк одной в другую. Ф-ция возвращает 0 если строка не найдена. Вы можете написать в условии выборки так: where ..... and ((POSITION[\'консервант1\'] IN vakc.kons)=0 and (POSITION[\'консервант8\'] IN vakc.kons)=0).

2. Использовать функцию MySQL REGEXP, которая работает с регулярными выражениями. Синтаксис:

поле REGEXP "регулярное_выражение"

Эта конструкция сама по себе условие, т.е. при нахождении по регулярному выражению в указанном поле фрагмента конструкция вернет истину. В противном случае - ложь.

Консультировал: Zysoftik (Студент)
Дата отправки: 23.05.2006, 20:39
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Константин:

Здравствуйте, Андрющенко Вячеслав Васильевич!
Приведенная БД не может ответить на этот запрос только с помощью SQL.
Можно доствать, парсить, но это не интересно. Правильно сделать так:
Таблица с консервантами(kons):
ID(primary key)
KonsName
CountryID(index)
Таблица со странами(countries):
ID(primary key)
ContryName
Таблица с вакцинами(vact):
ID(primary key)
VactName
Вспомогательная таблица, отражающая связь N:M между вакцинами и консервантами(vact_kons):
VactID
KonsID
(primary key на двух полях)
Теперь допустим у нас есть страны с номерами 1,2 и консерванты, которых не должно быть номер

3,4.
SQL-запрос:
SELECT vact.VactName
FROM ((countries INNER JOIN kons ON kons.CountryID=countries.ID)
INNER JOIN vact_cons ON vact_kons.KonsID=kons.ID) INNER JOIN vact ON

vact_cons.VactID=vact.ID
WHERE (countries.ID=1 OR countries.ID=2) AND kons.ID<>3 AND kons.ID<>4;

Этот запрос объединяет 4 таблицы с помощью их ключевых атрибутов (полей), извлекает из них

всех только поле с названием вакцины и выбирает из всех записей те, у которых страна

такая-то или такая-то, а консервантов таких-то нет.

Из своих чекбоксов ты получаешь IDшники, их и ставишь.

2 совета:
1)привязывайся к сути задачи, а не к "чекбоксам". Здесь суть в том, что тебе нужен

SQL-запрос, над ним и надо думать. Чекбоксы - это так, для прикола :))
2)почитай любую хорошую книгу по БД (Дейт, например), искать в Яндексе.

Консультировал: Константин
Дата отправки: 23.05.2006, 23:20
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует PVS@Lviv (Профессионал):

Здравствуйте, Андрющенко Вячеслав Васильевич!
Конечно не помешала бы таблица с двумя полями: ID_вакцины,ID_консерванта. В нее нужно вносить соответствующие записи при создании записи о вакцине. Но можно и с Вашим способом помучатся:

$countrylist=implode(",",$selected_countries);
$konservlist=implode("%\')and not(kons like \'%",$selected_konservants);
$request="select * from vakcines where (country in (".$countrylist."))and(kons like \'%".$konservlist."%\')";
/*Для отладки:*/
echo $request;

Консультировал: PVS@Lviv (Профессионал)
Дата отправки: 24.05.2006, 13:02
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 180344:

Здравствуйте.
скажите пожалуйста как при помощи htaccess
можно сделать реврайт урл, то есть мы заходим на HTTPS://site.ru/dir/file.php, ссылка не меняется, а данные берутся с HTTP://site.ru/dir/file.php... и можно ли таким образом *запутать* браузер, и предотвратить покаж сообщений о непроверенном сертификате? если нет, то подскажите пожалуйста как можно предотвратить появление данных предупреждений, без покупки сертификата, и при этом получать данные с урл HTTPS://***/**/**.** без шифрования

заранее спасибо :)

Дата отправки: 17.10.2010, 12:40
Вопрос задал: Герасимов Виталий Владиславович (6-й класс)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Николай Владимирович / Н.В. (Администратор):

Здравствуйте, Герасимов Виталий Владиславович!

Привожу для рассылки ход решения из мини-форума.

© Цитата: Николай Владимирович / Н.В. @ 20.10.2010, 15:16
Есть непроверенный сертификат и небезопасные элементы на страницы. Это разные вещи.
Непроверенность сертификата можно исправить только покупкой сертификата.
Небезопасные элементы - это такие, которые берутся с http на странице, открытой по https. От этого можно избавиться, если все подключаемые элементы (графика, таблицы стилей и пр. будут браться с https )

По rewrite.
К сожалению, не могу проверить, как это будет работать при ssl, но есть гарантированный способ имея один файл со скриптом вызывать его и по https, и по http - использовать ссылки.
Если у Вас сайт работает на *nix системе, то для создания ссылки воспользуйтесь командой ln.
Команда будет выглядеть так:
Код :
ln -s /source/dir/file.php /new/dir/file.php
Это для случая, если у Вас исходный файл находится в папке /source/dir, а новый надо создать в папке /new/dir
Можно сделать линк на целую папку.

Для Windows есть аналог на файловых системах NTFS.
Почитать можно, например, здесь: URL >>
ну дело в том, что https это зеркало http, по этому ссылки тут не помогут)
по этому имхо тут может быть 2 решения
1) приобрести сертификат
2)Сделать редирект на http через .htaccess
Прошу прощения за некорректно заданный вопрос.
© Цитата: Николай Владимирович / Н.В. @ 21.10.2010, 21:18
А можете подробнее рассказать, в чем состоит задача и почему надо скрипт брать именно с http ?
Приобретение сертификата не спасет от небезопасных элементов, о которых я написал выше. Оно только сделает настоящим используемый сертификат.

С редиректом можем помочь
ну дело в том, что исчадие ада(IE) все время жаловался на небезопасные элементы на стороннем сервере, где использовался ssl в качестве основного протокола, когда я вживлял в него http ссылки исчадие ада ругалось на небезопасные элементы на странице, когда я сменил ссылки на Https то данных сообщений не было, но и сам код с моего сервера не подгружался(JS) из-за того что был не подписанный сертификат после подписания проблема была решена...
но все же хотелось бы узнать, можно ли мод реврайтом как ни будь сделать подмену и самого протокола передачи не изменяя внешний вид ссылки, или же сделать редирект с https на http, один раз у меня получалось, но потом я случайно затер код..и больше так и не смог найти того решения.
[q=Николай Владимирович / Н.В. @ 22.10.2010, 12:47]
Попробуйте использовать описанный здесь вариант: URL >>
Цитата:
Код :
Сообщение от alxz on   22-Июн-03, 01:45  (MSK)  ВОТ ВАМ ВСЕМ ГОТОВОЕ РЕШЕНИЕ:  htaccess: RewriteEngine On RewriteRule  ^(/)?rambler/(.*)$    http://www.rambler.ru/$2  [P,QSA]  Только ссылки на документах rambler-а должны быть, понятное дело, относительными. Вот и все.
[/q]
Благодарю)) добавьте в ответ поставлю оценку)

Рад, что смогли помочь. Обращайтесь еще!

Консультировал: Николай Владимирович / Н.В. (Администратор)
Дата отправки: 22.10.2010, 14:28

5
Большое спасибо за оперативный отклик на данную проблему :) и за консультацию по данному вопросу ;)
-----
Дата оценки: 22.10.2010, 14:31

Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 32139:

Не подкажете алгоритм перебора символов....
Т.е. из массива символов создаётся база паролей от 1 до n символов.
Помогите, пжлуста....А то уже две ночи не сплю, не получается

Дата отправки: 25.12.2005, 03:49
Вопрос задал: Загиров Рустам / Stamm (Специалист)
Всего ответов: 3
Страница онлайн-консультации »


Консультирует Константин:

Здравствуйте, Stamm!
Идея простая: рекурсивный алгоритм, а вот конкретная реализация... щас попробуем...
function Generate($qty, $string = \'\', &$result)
{
$symbols = \'abcd\';
$len = strlen($symbols);
for ($i = 0; $i < $len; $i++)
{
if ($qty == 0)
{
$result[] = $string;
return;
}
Generate($qty-1, $string.$symbols[$i], $result);
}
}
$result = array();
Generate(5, null, $result);
echo \'<pre>\';
print_r($result);
echo \'</pre>\';
вроде работает, но это точноне самый оптимальный вариант.... работает долго, как, впрочем, любой или почти любой рекурсивный алгоритм....

Консультировал: Константин
Дата отправки: 26.12.2005, 00:21
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Straight (Практикант):

Здравствуйте, Stamm!

Если честно, вопрос совершенно непонятный.

Консультировал: Straight (Практикант)
Дата отправки: 26.12.2005, 10:00
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Дмитрий Иванов (Практикант):

Здравствуйте, Stamm!

использование rand в связке с ассоциативным массивом данных.
ответ в приложении ----

Приложение:

Консультировал: Дмитрий Иванов (Практикант)
Дата отправки: 26.12.2005, 15:49
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!




Камкордер Panasonic HDC-SD800: Full HD и 3D-видео у вас в кармане
Лето, пора отпусков и путешествий, – лучшее время для покупки цифровой видеокамеры. Как выбрать камкордер, который будет свидетелем Ваших приключений и просто приятных моментов жизни не один год? Решение предлагает Panasonic. Это камера HDC-SD800 с возможностью снимать FullHD и 3D-видео. Узнай больше!

Видеокамера Panasonic HDC-SD800 – на память в FullHD
Как сохранить приятные впечатления отпуска? Ответ - снять лучшие моменты на видеокамеру. Теперь это можно сделать в высоком качестве, достойном уровня профессионалов. Камкордер Panasonic HDC-SD800, обладая компактным размером и лёгкостью, позволяет снимать FullHD и 3D-видео. Что еще? Узнай!

Нужен ли кондиционер в детской комнате?
Если это новый Panasonic CS-HE9MKD, то да. Функции Econavi и AUTOCOMFORT обеспечат оптимальный микроклимат для Вашего ребёнка и помогут избежать простуд. А инновационная система очистки воздуха e-ion APS предотвратит распространение аллергенов. Узнайте больше!

Внимание! Некоторые из следующих ссылок позволяют войти в кабинет подписчика без знания пароля. Не передавайте никому это письмо во избежание несанкционированного доступа к Вашему личному кабинету на проекте Рассылки@Mail.Ru.
Архив рассылки   Отписаться от всех рассылок   Рекомендуемые рассылки
Отключить рекламу   Мои подписки   Помощь

Сообщить о нарушении данной рассылкой правил Сервиса
Отказаться от получения данной рассылки: нажмите здесь или отправьте это письмо

Комментариев нет:

Отправить комментарий