Forum Webscript.Ru

Программирование => PHP => Тема начата: Tahion от 09 Марта 2004, 09:52:08

Название: Обработка форм на локальном ПК.
Отправлено: Tahion от 09 Марта 2004, 09:52:08
Пишу такой код:


//echo $btn_AddTheme; //Если эту строку раскомментировать, то первый раз появляется Warning? а после нажатия на Submit - нет

if (!isset($submit)){ ?>

//Тут сама форма....

//Другие действия
}


Запускаю у себя на ПК - всезда вижу форму. Почему не работет IF? Ведь после нажатия на Submit должны выполняться "другие действия.

Может кто сталкивался с подобной проблемой?
Название: Обработка форм на локальном ПК.
Отправлено: CGVictor от 09 Марта 2004, 11:20:43
Выведи $submit, посмотри.
Название: Обработка форм на локальном ПК.
Отправлено: it4all от 09 Марта 2004, 11:37:37
Тут целый кодляк сталкивался,и все потому,что до конца не разобравшись,ваяют что-то,и если не выходит,лезут в форум за вопросами (нетак давно делал тоже самое,поэтому знаю).
Цитировать

//echo $btn_AddTheme;
потому,что перменная пуста,и ПЫХ не знает,что выводить собственно, а после видимо она у тебя чего-то значит и Варниги не светятся.
А ИФ не работает,потому,что твое условие выполняется постоянно,т.е. $submit не назначена (какой "name" у твоей кнопки?).

Я тут добыл еще один способ проверки на отправку данных из формы.Считаю его наиболее грамотным (хочу заодно спосить мнения гуру).
Нет смысла передавать срипту уведомления в виде переменных из формы,а также проверять их в начале скрипта.

//если кнопка на форме была нажата
if ($_SERVER[\'REQUEST_METHOD\'] == "POST") {
.................
}
Название: Обработка форм на локальном ПК.
Отправлено: Меняздесьдавнонет от 09 Марта 2004, 12:33:00
http://faq.phpclub.ru/globals
О проблеме получения в скрипте данных.
там все написано, и практическая часть, и теоретическая - почему все именно так, а не иначе.

По поводу же сабмита рекоменую тебе вышеприведенный код.
поскольку иногда форму отправляют без нажатия на кнопку.
Название: Обработка форм на локальном ПК.
Отправлено: Tahion от 09 Марта 2004, 16:44:35
Цитировать

А ИФ не работает,потому,что твое условие выполняется постоянно,т.е. $submit не назначена (какой "name" у твоей кнопки?).

Естественно, что Имя кнопки submit я просто не процетировал ее тут в коде.

С echo $btn_AddTheme; я ошибся. Должно было быть
echo $submit;

Цитировать
http://faq.phpclub.ru/globals
О проблеме получения в скрипте данных.

У меня действительно register_globals=off,

Попытался сделать так:
if (!isset($_POST[submit])){
//показываю форму
} else {
//Другие действия
}

Опять постоянно вижу форму :(

Цитировать
//если кнопка на форме была нажата
if ($_SERVER[\'REQUEST_METHOD\'] == "POST") {
.................
}


Это почемуто тоже не работает :( Результат аналогичен: Всегда вижу форму.
Название: Обработка форм на локальном ПК.
Отправлено: Tahion от 09 Марта 2004, 16:48:16
В $_POST[\'submit\'] добавил кавычки - не помогло :(
Название: Обработка форм на локальном ПК.
Отправлено: Меняздесьдавнонет от 09 Марта 2004, 16:48:43
пишешь в скрипте phpinfo(); после формы и смотришь - какие переменные у тебя там .и где
Название: Обработка форм на локальном ПК.
Отправлено: Tahion от 09 Марта 2004, 17:04:26
Написал.
При первом запуске скрипта - переменных нет. Нажимаю на Submit phpinfo выдает:
submit ==  Add Theme  (Add Theme - caption кнопки)
Переменные для всех остальных полей формы тоже заполнены, как и должно быть.

Почему тогда не работает иф?
Название: Обработка форм на локальном ПК.
Отправлено: it4all от 09 Марта 2004, 17:05:13
Пых С Апачем сам ставил ?
Как ставил в виде модуля или ЦГИ ?
Не ставил ли какойнибудь готовый пакет (типа Денвер) ?
Название: Обработка форм на локальном ПК.
Отправлено: Tahion от 09 Марта 2004, 17:07:03
Еще, пишу перед phpinfo()
echo "".$_POST[submit]."
";
Что при первом запуске скрипта, что после нажатия на Submit ничего не показывается.
Название: Обработка форм на локальном ПК.
Отправлено: Tahion от 09 Марта 2004, 17:12:25
Цитировать

Пых С Апачем сам ставил ?

Да

Цитировать

Как ставил в виде модуля или ЦГИ ?

Что такое "ЦГИ"?
Апач у меня автоматом закгружается каждый раз при загруке ОС.
Вот только приходится делать Stop, поскольку по-другому не хочет запускать скрипты мой DzSoft PHP Editor. Говорит, что занять 80-й порт...

Цитировать
Не ставил ли какойнибудь готовый пакет (типа Денвер) ?

Нет.
Название: Обработка форм на локальном ПК.
Отправлено: it4all от 09 Марта 2004, 17:18:21
PHP на Апач ставится в двух видах - как модуль - Load module ....
или в виде CGI - через рнр.exe ,если ставил сам,то должон был вроде знать.
То,что не сработал тот пример,навевает мысль о глюках
попробуй так -

....
//если кнопка на форме была нажата
if (!empty($_POST[\'add\'])) {
..................
}
Название: Обработка форм на локальном ПК.
Отправлено: Макс от 09 Марта 2004, 17:56:45
Tahion
со всем уважением к автору DzSoft PHP Editor - отлаживать в нем скрипты невозможно.
Используй его только как редактор а отладку скриптов делай дедовскими методами - то есть броузер запустил, ввел в строке
http://localhost/path/to/your/script.php и смотришь что там показывается.
Когда я последний раз смотрел этот DzSoft PHP Editor - там были какие-то проблемы при отладке скриптов, написанных под register_globals = off
Название: Обработка форм на локальном ПК.
Отправлено: Макс от 09 Марта 2004, 17:58:20
кстати, как установить ПХП модулем описано на http://faq.phpclub.net/start_newbie
Название: Обработка форм на локальном ПК.
Отправлено: Tahion от 09 Марта 2004, 19:06:43
Цитировать

со всем уважением к автору DzSoft PHP Editor - отлаживать в нем скрипты невозможно.
Используй его только как редактор а отладку скриптов делай дедовскими методами - то есть броузер запустил, ввел в строке

Помогло. :)
Похоже, что было две проблемы:
Первая - register_globals=off (хренувую, видно я книгу для обучения взял)
Вторая - DzSoft PHP Editor

Смегнил DzSoft PHP Editor на PHP Expert Editor. Все работает.

Всем спасибо за помошь

P.S. Какие еще есть хорошие программы для написания ПХП скриптов?
Зпомимо DzSoft PHP Editor и PHP Expert Editor еще знаю Komodo. А что еще ХОРОШЕЕ есть?
На данный момент хотелось бы программу, которя умела ПХП скрипты приводить в удобочитаемый вид. Такие есть?
Название: Обработка форм на локальном ПК.
Отправлено: it4all от 09 Марта 2004, 19:17:56
Цитировать
Tahion:
Первая - register_globals=off (хренувую, видно я книгу для обучения взял)

Дядя это не проблема,а скорее решение.
Я не так давно переставил в Офф,и жалею,что не сделал этого раньше. С оффом писать научишься грамотнее.

Цитировать
Tahion:
P.S. Какие еще есть хорошие программы для написания ПХП скриптов?

Дл я РНР особых программ и не нужно,главное,чтоб нумерацию строк поддерживал.Сам пользую в основном "CuteHTML" и "PHPMasterEditor"
Название: Обработка форм на локальном ПК.
Отправлено: Меняздесьдавнонет от 09 Марта 2004, 19:23:04
Цитировать
Tahion:
 хотелось бы программу, которя умела ПХП скрипты приводить в удобочитаемый вид.

а что это значит?

по мне, так лишь бы код раскрашивала и по фтп работала, а больше, по-моему, ничего и не нужно, для простых-то скриптов
Название: Обработка форм на локальном ПК.
Отправлено: AliMamed от 10 Марта 2004, 00:10:03
[off]RomikChef а чтонить есть что раскрашивает, показывает номера строк, но не грузит меня всякими дибильными окошками с "проектами" и списками файлов?[/off]
Название: Обработка форм на локальном ПК.
Отправлено: Меняздесьдавнонет от 10 Марта 2004, 00:43:55
AliMamed
ну, насколько я знаю, таким образом - отрубив все выступающие части - можно оттюнить практически оюбой редактор.
Хоумсайт, к примеру, неплохо раскрашивает.