![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| knut |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
добрый день.
ситуация сслед. есть один обший .php файл(test.php) а на нем батон сабмит. и двa button a
и две функции
так проблема у меня в том что у меня у меня функция addtodatabase вызовается и при нажатие на баттон и при рефреше. как сделать так чтоб он вызовался толко при нажатие на button p.s если я с названием темы ляпнул сорри --------------------
|
||||||
|
|||||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
непонятно только, зачем оборачивать в функцию код, который выполняется ровно 1 раз |
|||
|
||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: нет Всего: 17 |
а в чОм проблема проверить, какую кнопку сабмитит??
|
|||
|
||||
| vintyara |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 24.3.2005 Где: Ode$$a Репутация: 1 Всего: 2 |
один из вариантов -
1. нажали на кнопку 2. страница перегрузилась и начался выполнятся пхп код. вот тут, после выполнения того что нам нада, в конце добавить редирект еще один (через тот же header("Location: куданада");). тогда небужет проблемы с рефрешем и повторной отправки данных. |
|||
|
||||
| knut |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
comcon1,
проблема в том как сделать так чтоб функция addtodatabase если рефреш не выполнялас a толко при нажатие на баттон. Feldmarschall, вот такой варрнинг получил
вопрос вот при наличие такого иф а if($_SERVER['REQUEST_METHOD']=='POST') рефреш не удовлетворяет этому иф у? у меня функция addtodatabase вызовется даже тогда если был рефреш --------------------
|
||||||
|
|||||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: нет Всего: 17 |
если ты не выведешь в HTML ни одного символа до выполнения header, даже пробел, то варнинг исчезнет. Попробуй. |
|||
|
||||
| knut |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
comcon1,
решил проблему буферизацией таким способом (хотел бы услышать от вас коментарии по этому методу чвляется ли он хорошым решениям)
толко осталась одна мальенкая проблема как мне узнать был нажат add или remove? --------------------
|
||||
|
|||||
| ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Нужно у кнопок поставить name, тогда в POST'е появится нужное поле
Это сообщение отредактировал(а) ksnk - 13.3.2008, 13:07 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
||||
|
|||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
knut, решение с буферизацией является просто ненужным.
Скорее всего, функция addtodatabase что-то выводит. но пользователь все равно этого не увидит. поэтому и выводить ничего не нужно. а если ничего не выводить, то и ошибка не появится. Это сообщение отредактировал(а) Feldmarschall - 13.3.2008, 13:20 |
|||
|
||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: нет Всего: 17 |
ob_start и ob_end_flush - стандартное решение для таких случаев. Но если можешь избавиться от выводов лишних пробелов - то это лучше. У меня иногда бывал такой косяк. Я редактирую PHP в ultraedit-е (когда я в винде), так вот когда кодировка у меня UTF - он вставляет какие=то невидимые метасимволы в начало файла - вываливается твоя ошибка. Переводишь UTF->ASCII - метасимволы исчезают вместе с ошибкой.
|
|||
|
||||
| knut |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
ksnk,
я так и зделал.
и после этого
но не работает --------------------
|
||||||
|
|||||||
| Canarat |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 11.3.2008 Где: Каспий Репутация: 5 Всего: 5 |
Нет такого суперглобального массива, есть $_POST |
|||
|
||||
| knut |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
тот же результат _POST['name'] пустой --------------------
|
||||
|
|||||
| Canarat |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 11.3.2008 Где: Каспий Репутация: 5 Всего: 5 |
У тебя другое.
Это сообщение отредактировал(а) Canarat - 13.3.2008, 16:02 |
||||
|
|||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |