RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


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

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 484
от 11.10.2006, 04:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 370, Экспертов: 52
В номере:Вопросов: 2, Ответов: 4


Вопрос № 57781: Как избавиться от кавычек в формах ввода? Существует ли "радикальный" способ замены одинарных и двойных кавычек во всех полях формы? У меня такая проблема: есть форма, на ней 20 полей; в каждом потенциально могут быть кавычки; после...
Вопрос № 57822: Я уже задавал подобный вопрос, но необходимого ответа я так и не получил. Попробую изъясниться понятнее. Необходимо ресайзнуть изображение (в данном случае 1024x576) в 176х220(размер экрана мобильника например). Но так, чтобы изображение не плющилось...

Вопрос № 57.781
Как избавиться от кавычек в формах ввода?
Существует ли "радикальный" способ замены одинарных и двойных кавычек во всех полях формы?
У меня такая проблема: есть форма, на ней 20 полей; в каждом потенциально могут быть кавычки; после ввода должна быть форма предварительного просмотра, а затем данные через SQL-запрос идут в БД.
Сейчас я перед выводом в форме просмотра делаю замену кавычек на их коды для каждого из 20 полей. А можно ли поставить некую директиву для "замены оптом"?
И вообще, как народ с этим борется?
(Кодировка страниц, если это важно - Unicode.)
Отправлен: 05.10.2006, 10:23
Вопрос задал: Php23 (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Козлов А. С.
Здравствуйте, Php23!
Есть функция htmlspecialchars(), которая заменяет символы <, >, ` и " на их HTML-эквиваленты.
Например, пользователь набрал в одном из полей следующее слово - "Hello". После вызова этой функции кавычки будут заменены на "

---------
Вы доставили мне истинное удовольствие парни, взвалив на меня Ваши проблемы (М. Фрай).
Ответ отправил: Козлов А. С. (статус: 9-ый класс)
Ответ отправлен: 05.10.2006, 10:48

Отвечает: Константин
Здравствуйте, Php23!
насколько я понял, ты хочешь чтобы какая-то функция обрабатывала все поля. Тогда можно так:
foreach ($_POST as $var => $value)
{
$_POST[$var] = str_replace(array(""", "'"), array(коды кавычек), $value);
}
Так у тебя во всех переданых Post'ом переменных будут кавычки заменены. если хочешь еще и Get или еще где - просматривай суперглобальный массив $_REQUEST вместо POST. Если нужно что бы какие-то поля не обрабатывались, добавь условие
if (!in_array($var, array("submit", "reset", ....)))
{
//обрабатываем как надо
}
Елинственное - посмотри насчет порядка аргументов в функции in_array, я насчет этого не уверен - то ли массив идет первым, то ли искомое значение.

Все, удачи.
---------
Лучше сделать и жалеть, чем жалеть о том что не сделал
Ответ отправил: Константин (статус: 7-ой класс)
Ответ отправлен: 05.10.2006, 13:59


Вопрос № 57.822
Я уже задавал подобный вопрос, но необходимого ответа я так и не получил. Попробую изъясниться понятнее. Необходимо ресайзнуть изображение (в данном случае 1024x576) в 176х220(размер экрана мобильника например). Но так, чтобы изображение не плющилось, а обрезалось по бокам или по верху и низу (в зависимости от отношения сторон, но пока это необязательно). Вроде всё сделал правильно, но выходит совсем не то, что нужно.

Приложение:

Отправлен: 05.10.2006, 17:51
Вопрос задал: Бобровский Сергей Сергеевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Zysoftik
Здравствуйте, Бобровский Сергей Сергеевич!

Навскидку, алгоритм правильный (по сути, не вчитывался). Основное примечание:
вместо imagecreate попробуйте использовать imagecreatetruecolor.

Тогда Вы не потеряете данные о цветах исходного изображения.
Ответ отправил: Zysoftik (статус: 6-ой класс)
Ответ отправлен: 05.10.2006, 18:16
Оценка за ответ: 3
Комментарий оценки:
Дело не в цветах! В созданную картинку-рамку копируется только часть исходного выбранного куска(кажется верхняя левая часть, может и не так), а должен уменьшиться и вставиться туда полностью . . может такое быть, что функция некорректно работает?

Отвечает: Загиров Рустам
Здравствуйте, Бобровский Сергей Сергеевич!
Надо просто проверять соотношение сторон в вашем случае, 176/1024(0,17) и 220/576(0,38). Здесь первое отношение меньше, значит, ширина_маленькой_картинки=576*0,17. Если было бы наоборот, то надо было вычислять длина_маленькой_картинки=1024*0,38. Эти новые параметры используем в imagecopyresampled, и определяем координаты, куда нужно вставить маленькую картинку: делим разность исходной длины маленькой картинки и новой на пополам, т.к. у картинки будет два отступа сверху и снизу: (220-576*0,17)/2.
Примерный код в приложении. Если надо закрасить фон другим цветом, например, красным, то используем функцию imageFill($image,0,0,imageColorAllocate($image,255,0,0)); после создания картинки $image

Приложение:

---------
Этот мир обречён на нас
©Сергей Маврин

Ответ отправил: Загиров Рустам (статус: Практикант)
Ответ отправлен: 05.10.2006, 18:48
Оценка за ответ: 3
Комментарий оценки:
Хм.. в Вашем варианте в новую картинку вписывается полностью исходная, а мне необходимо, чтобы часть исходной картинки ПОЛНОСТЬЮ заполняла новую картинку!


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

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

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное