Отправляет email-рассылки с помощью сервиса Sendsay

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

  Все выпуски  

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


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

Лучшие эксперты в разделе

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 606
∙ повысить рейтинг »
Evgen aka Chuma
Статус: 6-й класс
Рейтинг: 52
∙ повысить рейтинг »
Хватов Сергей
Статус: Академик
Рейтинг: 0
∙ повысить рейтинг »

∙ PHP / Perl / Python

Номер выпуска:1302
Дата выхода:21.01.2018, 22:45
Администратор рассылки:Коцюрбенко Алексей aka Жерар (Мастер-Эксперт)
Подписчиков / экспертов:18 / 13
Вопросов / ответов:3 / 16

Консультация # 25345: Всем привет! Ответьте пожалуйста, можно ли присваивать php переменным js переменные и обратно? Если да, то как?...
Консультация # 97831: есть простая форма с двумя полями, файл который обрабатывает данные с формы должен за счет условия if и просмотра переменной $_POST на наличие пустой переменой используя isset должна либо принять данные (если все поля заполнены) или выдать сообщение "Не заполнены все поля" но почему то скрипт все время выводит одно и тоже в не зависи...
Консультация # 78331: Добрый день! Помогите разобраться. Мне нужно, чтобы программа умела фильтровать данные, вводимые в форму. Например, вела проверку на символы, допуская ввод только числовых значений. Как это реализовать?...

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

Всем привет! Ответьте пожалуйста, можно ли присваивать php переменным js переменные и обратно? Если да, то как?

Дата отправки: 26.08.2005, 10:02
Вопрос задал: 007Makc
Всего ответов: 5
Страница онлайн-консультации »


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

Здравствуйте, 007Makc!
Присвоить значение переменным в php можно несколькими способами:
1. передавая значения переменных методами post или get на сервер, а после этого создавать новые переменные, используя соответствующие элементы массива $_REQUEST.
2. Создать xml-сервис и передавать значения переменных js на сервер напрямую.
Значение переменным js можно будет присвоить несколькими путями.
1. Попросту создавать страницу со значениями инициализации переменных, взятыми из кода php.
Например: <? echo"var iStarCount = ".$iStarCountValue.";"?>
2. Можно создать xml-сервис и из js запрашивать у него текущее значение переменных.

Консультировал: Lector
Дата отправки: 26.08.2005, 11:15
Рейтинг ответа:

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


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

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

В буквальном смысле, конечно, нет. Надо понимать, что php генерирует вывод в браузер. В том числе можно сгенерировать КОД JS, который уйдет пользователю.
Сгенерированный код JS может выглядеть, например, так:
<script ...>
var i = 10;
</script>

Для полного понимания вопроса, Вам следует ознакомиться с основами работы php и клиент-серверной технологии.

Консультировал: Diztex
Дата отправки: 26.08.2005, 11:17
Рейтинг ответа:

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


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

Здравствуйте, 007Makc!
php переменным js-овские нет а обратно возможно.
см в приложении

Приложение:

Консультировал: КиберТварь
Дата отправки: 26.08.2005, 13:46
Рейтинг ответа:

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


Консультирует Алексей Смуриков:

Здравствуйте, 007Makc!
Напрямую нет!
Но можно передать либо через командную строку либо через cookie!

Консультировал: Алексей Смуриков
Дата отправки: 26.08.2005, 14:02
Рейтинг ответа:

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


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

Здравствуйте, 007Makc!
присваивать php переменным js переменные можно (см. приложение)
наоборот нельзя.

Приложение:

Консультировал: Alexey Vilchinsky
Дата отправки: 26.08.2005, 14:40
Рейтинг ответа:

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

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

есть простая форма с двумя полями, файл который обрабатывает данные с формы должен за счет условия if и просмотра переменной $_POST на наличие пустой переменой используя isset должна либо принять данные (если все поля заполнены) или выдать сообщение "Не заполнены все поля"
но почему то скрипт все время выводит одно и тоже в не зависимости от того чтоя вводил в поле формы!!!
Помогите пожалуйста а то уже 8 час мучаюсь с этой проблемой как только не изменял и форму и скрипт уже в каждой строчке ошибки мерещатся .. ппц

Дата отправки: 09.08.2007, 12:57
Вопрос задал: Вацура Кирилл Андреевич
Всего ответов: 7
Страница онлайн-консультации »


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

Здравствуйте, Вацура Кирилл Андреевич!
Не method="$_POST" а method="POST"

Консультировал: PVS
Дата отправки: 09.08.2007, 13:03
Рейтинг ответа:

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


Консультирует Селев Валерий:

Здравствуйте, Вацура Кирилл Андреевич!

Попробуйте заменить
<form action="script.php" method="$_POST">

на
<form action="script.php" method="post">

Консультировал: Селев Валерий
Дата отправки: 09.08.2007, 13:09
Рейтинг ответа:

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


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

Здравствуйте, Вацура Кирилл Андреевич!

Исправленный код в приложении. Во-первых, метод не $_POST, а просто post, $_POST это суперглобальный массив в пхп, к html никакого отношения не имеет. Во-вторых, isset() всегда будет возвращать true, т.к. у тебя есть это поле в форме, т.е. переменная у тебя будет объявлена, но содержаться в ней может либо пустая строка, либо нет. И еще, лучше отключи register_globals опцию в php.ini и обращайся к переменным из поста, гета, сессий и пр. через соответствующие суперглобальные массивы - $_POST, $_GET, $_SESSION соответственно

Приложение:

Консультировал: Nexus
Дата отправки: 09.08.2007, 13:09
Рейтинг ответа:

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


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

Здравствуйте, Вацура Кирилл Андреевич!
Методы для формы - POST и GET. $_POST - это же глобальный массив в РНР и в обычном HTML он соответсвенно использоваться не будет.

Так же для проверки сразу нескольких их можно задавать сразу в один isset.
If iseet($_POST[\'name\'],$_POST[\'sname\'],...) {...}

Консультировал: Flynn
Дата отправки: 09.08.2007, 13:11
Рейтинг ответа:

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


Консультирует Бобровский Сергей Сергеевич:

Здравствуйте, Вацура Кирилл Андреевич!
Замените $_POST на POST. Ну это Вам уже сказали.
Также у вас проверяется наличие переменной
isset($_POST[\'surname\'])
вернет TRUE при наличии этой переменной, следовательно если она есть, то скрипт выведет "Не заполнено поле", а если нет, то попытается вывести имя. Вам же нужно наоборот. Для этого нужно добавить восклицательный знак. Исправленный и компактный код в приложении.

Приложение:

Консультировал: Бобровский Сергей Сергеевич
Дата отправки: 09.08.2007, 13:32
Рейтинг ответа:

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


Консультирует M@gi$†e®:

Здравствуйте, Вацура Кирилл Андреевич!
Ошибка: пропущен оператор ! (not)
должно быть if(!isset($_POST["имя_переменной"]))

Консультировал: M@gi$†e®
Дата отправки: 09.08.2007, 19:41
Рейтинг ответа:

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


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

Здравствуйте, Вацура Кирилл Андреевич!
Гммм. Такая простая ситуация=) Функция isset(value) - ВСЕГДА будет возвращать тру если Вы сабмитите форму, тоисть переменные name и surname будут всегда присутствувать! Вам просто напросто надо заменить isset на empty, тогда всё будет нормально.

Консультировал: Powoditch konstantin
Дата отправки: 09.08.2007, 22:16
Рейтинг ответа:

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

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

Добрый день!

Помогите разобраться.
Мне нужно, чтобы программа умела фильтровать данные, вводимые в форму. Например, вела проверку на символы, допуская ввод только числовых значений.

Как это реализовать?

Дата отправки: 14.03.2007, 23:44
Вопрос задал: Демьянчук Виталий
Всего ответов: 4
Страница онлайн-консультации »


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

Здравствуйте, Демьянчук Виталий!
1) Существуют строковые функции. (но вот задачу вроде написаной Вами они уже не решат, зато могут решить целый ряд других задач обработки входных даных)
2) (то, что, вероятно, нужно Вам): Регулярные выражения POSIX или PCRE (рекомендую).
Поскольку существут целые книги, посященные регулярным выражениям, вкрадце я тут их описать не могу. Извиняйте. Помогу Вам ссылкой: http://www.pcre.ru/

УДАЧИ! BYE! :)

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

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


Консультирует Устинов Сергей Евгеньевич:

Здравствуйте, Демьянчук Виталий!

Если необходимо проверить переменную $login:

if (!preg_match("/^[A-Za-z0-9_]*$/i",$login))
{echo "Логин должен состоять только из латинских букв, цифр и знака подчеркивания!";}

Соответственно если нужен ввод только цифр -
if (!preg_match("/^[0-9]*$/i",$login)) {echo "Разрешен ввод только цифр.";}

Более подробно о регулярных выражениях можно почитать, например в книге:
Фридл. Регулярные выражения. - книга действительно очень полезная.

Удачи!

Консультировал: Устинов Сергей Евгеньевич
Дата отправки: 15.03.2007, 00:03
Рейтинг ответа:

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


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

Здравствуйте, Демьянчук Виталий!

Для простых проверок можно использовать ф-ции типа is_numeric($_POST[\'field_name\']) и т.д. Для более сложных - регулярные выражения (см. ф-цию preg_match()). На phpclub.ru была довольно неплохая статья по регуляркам, та и вообще в инете их довольно много.

Кроме того часто удобно пользоваться специальными классами для генерации и валидации форм. Я пользуюсь PEARовским HTML_QuickForm (http://pear.php.net/package/HTML_QuickForm). Правда мануал у них не очень понятный, так что для начала лучше поискать в инете статьи, а потом когда разберешься как это работает лезть в мануал. У меня есть пара статей, но откуда я их слил не помню, если есть желание напиши на мыло (mail[at]nexus.in.ua), пришлю. На мой взгляд класс очень удобный, но если раньше писал формы ручками - нужно привыкнуть))

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

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


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

Здравствуйте, Демьянчук Виталий!
Если вы хотите проверять именно на этапе ввода, тогда вам поможет javascript.

Консультировал: Mamanton
Дата отправки: 15.03.2007, 22:06
Рейтинг ответа:

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


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

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

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


В избранное