Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: перезагрузка страницы и выполнение кода на ней

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ruslan_sul
Отправлено: 11 Февраля, 2008 - 11:47:36
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Февр. 2008  


Помог: 0 раз(а)




Помогите новичку...
Имеется страница с формой для добавления записей в БД

<form method="post" action="<?php echo $PHP_SELF?>">

заполняем поля формы, нажимаем submit

Необходимо чтобы после этого выполнялся код добавляющий записи в БД
(код на этой же странице.)
Дает ошибку
Notice: Undefined variable: messages in T:\home\localhost\proba\input_mess.php on line 34
понятно что он ругается на переменные используемые в запросе.

Вопрос
как сделать так, чтобы при первом обращении к странице просто выводилась бы форма, а после нажатия на кнопку выполнялся бы код.
ТО что нужно использовать if- then -end if понятно, а что собственно проверять ?
 
 Top
Dastar
Отправлено: 11 Февраля, 2008 - 17:50:59
Post Id



Частый гость


Покинул форум
Сообщений всего: 199
Дата рег-ции: Янв. 2008  
Откуда: Израиль


Помог: -6 раз(а)




Для того, что-бы не ругался, поставить собаку (@) перед каждой переменной, которая не обьявленна.


-----
Не знаешь - молчи.
 
 Top
EuGen Администратор
Отправлено: 11 Февраля, 2008 - 18:10:49
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Тут несколько не так нужно действовать. После обработки данных в БД нужно делать перенаправление. Примерно так:
PHP:
скопировать код в буфер обмена
  1.  
  2. //это скрипт "script.php"
  3. if (isset($_POST['form_data']))
  4. {
  5.    ..
  6.    //обрабатываем полученное - делаем запросы к БД и т.п.
  7.   ..
  8.    header("Location: script.php");
  9. };
  10. ..
  11. //а тут просто вывод - возможно, сформированный на основе данных БД, либо иные действия
  12. ..
  13.  


А для того, чтобы не получать сообщения как у Вас, инициализируйте все переменные перед использованием, если это возможно. Это повысит безопасность Вашего кода.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
evgenijj
Отправлено: 11 Февраля, 2008 - 18:24:10
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Dastar пишет:
Для того, что-бы не ругался, поставить собаку (@) перед каждой переменной, которая не обьявленна.

- бросай эти советы
 
 Top
jeck111
Отправлено: 31 Января, 2009 - 01:50:47
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Янв. 2009  
Откуда: Украина, Кременчуг


Помог: 0 раз(а)




Здравствуйте. Может конечно не в этой теме, но кажется что по адрессу пишу Улыбка.
Вопрос на счет header ():
подскажите пожалуйста, если я не могу поставить header() до первого вывода на страницу, можно каким-то другим сособом страницу перезагрузить?
 
 Top
Roler
Отправлено: 31 Января, 2009 - 11:08:08
Post Id



Посетитель


Покинул форум
Сообщений всего: 458
Дата рег-ции: Авг. 2008  
Откуда: Россия


Помог: 1 раз(а)




jeck111
Хоть и не та тема, но ладно. Сделай буферизацию, и в любом месте перезагружай.

ruslan_sul
Просто, надо сначала проверять, а передаются ли данные. Если нет, то и нефиг обращаться.
 
 Top
Бублик
Отправлено: 31 Января, 2009 - 11:18:53
Post Id


Частый гость


Покинул форум
Сообщений всего: 130
Дата рег-ции: Янв. 2009  


Помог: 0 раз(а)

[+]


jeck111 пишет:
Здравствуйте. Может конечно не в этой теме, но кажется что по адрессу пишу .
Вопрос на счет header ():
подскажите пожалуйста, если я не могу поставить header() до первого вывода на страницу, можно каким-то другим сособом страницу перезагрузить?


PHP:
скопировать код в буфер обмена
  1. // любой вывод вместе с заголовками
  2. $nash_text = ob_get_contents();


В переменной $nash_text будет все, что на вывод. Потом просто делаете echo $nash_text и все. Таким образом мы "пропускаем вперед" заголовки.

(Отредактировано автором: 31 Января, 2009 - 11:20:18)

 
 Top
LEONeso
Отправлено: 18 Января, 2010 - 02:09:36
Post Id



Посетитель


Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010  
Откуда: Россия, Москва


Помог: 1 раз(а)




PHP:
скопировать код в буфер обмена
  1. // любой вывод вместе с заголовками
  2. $nash_text = ob_get_contents();


В переменной $nash_text будет все, что на вывод. Потом просто делаете echo $nash_text и все. Таким образом мы "пропускаем вперед" заголовки.[/quote

А можно пример?
Как я понял, данный код нацелен обновить страницу или перенаправить на другую страницу?

Я собственно ищу ответ на вопрос: Как обновить страницу средствами php?

или легче искать ответ на вопрос?: Как передавать данные get/post без обновления страницы?
--
Чтобы легче понять суть моего вопроса, можно скачать видео с вопросом: скачать 2.34мб


-----
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
 
 Top
Мелкий Супермодератор
Отправлено: 18 Января, 2010 - 09:43:34
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




LEONeso пишет:
Как я понял, данный код нацелен обновить страницу или перенаправить на другую страницу?

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

LEONeso пишет:
Я собственно ищу ответ на вопрос: Как обновить страницу средствами php?

Кроме как заголовком - никак.

LEONeso пишет:
или легче искать ответ на вопрос?: Как передавать данные get/post без обновления страницы?

AJAX


-----
PostgreSQL DBA
 
 Top
EuGen Администратор
Отправлено: 18 Января, 2010 - 11:03:07
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Да, и ... а, впрочем, кто их читает, правила-то..
Тема закрыта!


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB