Автор Тема: Обработка форм на локальном ПК.  (Прочитано 8842 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Tahion

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 12
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Обработка форм на локальном ПК.
« : 09 Марта 2004, 09:52:08 »
Пишу такой код:


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

if (!isset($submit)){ ?>
<form name="frm_AddTheme" method="post" action="myaddtheme.php">
//Тут сама форма....
</form>
<? } else {
//Другие действия
}


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

Может кто сталкивался с подобной проблемой?

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Обработка форм на локальном ПК.
« Ответ #1 : 09 Марта 2004, 11:20:43 »
Выведи $submit, посмотри.
LJ: Backslashed life (rss)

Оффлайн it4all

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 68
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.it4all.h10.ru
Обработка форм на локальном ПК.
« Ответ #2 : 09 Марта 2004, 11:37:37 »
Тут целый кодляк сталкивался,и все потому,что до конца не разобравшись,ваяют что-то,и если не выходит,лезут в форум за вопросами (нетак давно делал тоже самое,поэтому знаю).
Цитировать

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

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

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

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Обработка форм на локальном ПК.
« Ответ #3 : 09 Марта 2004, 12:33:00 »
http://faq.phpclub.ru/globals
О проблеме получения в скрипте данных.
там все написано, и практическая часть, и теоретическая - почему все именно так, а не иначе.

По поводу же сабмита рекоменую тебе вышеприведенный код.
поскольку иногда форму отправляют без нажатия на кнопку.

Оффлайн Tahion

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 12
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Обработка форм на локальном ПК.
« Ответ #4 : 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

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 12
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Обработка форм на локальном ПК.
« Ответ #5 : 09 Марта 2004, 16:48:16 »
В $_POST[\'submit\'] добавил кавычки - не помогло :(

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Обработка форм на локальном ПК.
« Ответ #6 : 09 Марта 2004, 16:48:43 »
пишешь в скрипте phpinfo(); после формы и смотришь - какие переменные у тебя там .и где

Оффлайн Tahion

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 12
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Обработка форм на локальном ПК.
« Ответ #7 : 09 Марта 2004, 17:04:26 »
Написал.
При первом запуске скрипта - переменных нет. Нажимаю на Submit phpinfo выдает:
submit ==  Add Theme  (Add Theme - caption кнопки)
Переменные для всех остальных полей формы тоже заполнены, как и должно быть.

Почему тогда не работает иф?

Оффлайн it4all

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 68
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.it4all.h10.ru
Обработка форм на локальном ПК.
« Ответ #8 : 09 Марта 2004, 17:05:13 »
Пых С Апачем сам ставил ?
Как ставил в виде модуля или ЦГИ ?
Не ставил ли какойнибудь готовый пакет (типа Денвер) ?

Оффлайн Tahion

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 12
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Обработка форм на локальном ПК.
« Ответ #9 : 09 Марта 2004, 17:07:03 »
Еще, пишу перед phpinfo()
echo "".$_POST[submit]."
";
Что при первом запуске скрипта, что после нажатия на Submit ничего не показывается.

Оффлайн Tahion

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 12
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Обработка форм на локальном ПК.
« Ответ #10 : 09 Марта 2004, 17:12:25 »
Цитировать

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

Да

Цитировать

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

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

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

Нет.

Оффлайн it4all

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 68
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.it4all.h10.ru
Обработка форм на локальном ПК.
« Ответ #11 : 09 Марта 2004, 17:18:21 »
PHP на Апач ставится в двух видах - как модуль - Load module ....
или в виде CGI - через рнр.exe ,если ставил сам,то должон был вроде знать.
То,что не сработал тот пример,навевает мысль о глюках
попробуй так -

....
//если кнопка на форме была нажата
if (!empty($_POST[\'add\'])) {
..................
}

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Обработка форм на локальном ПК.
« Ответ #12 : 09 Марта 2004, 17:56:45 »
Tahion
со всем уважением к автору DzSoft PHP Editor - отлаживать в нем скрипты невозможно.
Используй его только как редактор а отладку скриптов делай дедовскими методами - то есть броузер запустил, ввел в строке
http://localhost/path/to/your/script.php и смотришь что там показывается.
Когда я последний раз смотрел этот DzSoft PHP Editor - там были какие-то проблемы при отладке скриптов, написанных под register_globals = off
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Обработка форм на локальном ПК.
« Ответ #13 : 09 Марта 2004, 17:58:20 »
кстати, как установить ПХП модулем описано на http://faq.phpclub.net/start_newbie
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Tahion

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 12
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Обработка форм на локальном ПК.
« Ответ #14 : 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. А что еще ХОРОШЕЕ есть?
На данный момент хотелось бы программу, которя умела ПХП скрипты приводить в удобочитаемый вид. Такие есть?

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28