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]   

> Описание: Как из формы передать значение переменной, а не значение поля?
kdy
Отправлено: 08 Января, 2013 - 13:35:35
Post Id


Новичок


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


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




Доброе время суток всем
Прошу помощи, на своем текущем уровне незнания я зашел в тупик...
Что имеем... PHP страница, два SELECTa, в каждом onchange=submit(), при выборе значения в первом заполняется список выбора во втором, при выборе значения во втором выводятся запрашиваемые данные. Все работает прекрасно.
Но тут меня посетила гениальная идея - в зависимости от того, откуда пришел посетитель изменять форму отображения. Для этого в начале обработки страницы опознаю значение $_SERVER['HTTP_REFERER'] и исходя из этого значения опредляю алгоритм показа информации. Вроде бы как все в норме, но... после выбора значения в первом селекте, реферором становиться моя страница... Пытался передать полученое значение реферера на сервер, что бы прочитать его, смог сделать это через "служебный" инпут текст... вроде заработало... но некрасиво...
Подозреваю, что такая задача решалась и до меня, но я такого решения не знаю...
Мое видение решения: при первой загрузке страницы прочитать реферера, определить код, по которому будет выводиться информация и при передаче постом (или гетом) данных передать и этот код. Но я не знаю как это сделать, кроме как через инпут... чувствую, что есть более изящный метод, сможете подсказать?
 
 Top
DelphinPRO
Отправлено: 08 Января, 2013 - 13:48:10
Post Id



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


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


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




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


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
kdy
Отправлено: 08 Января, 2013 - 13:55:48
Post Id


Новичок


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


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




к сожалению я только название слышал, а шо такое аякс и с чем его едят пока не знаю...
а средствами PHP обойтись можно? хотя и его знаю на уровне художественого свиста... ;)
 
 Top
LShark
Отправлено: 08 Января, 2013 - 14:07:31
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


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




В целом, кто мешает передать реферера (или опознающий признак) через скрытый инпут?

При первом входе вкладываешь в него значение, при ончендж-перезагрузке проверяешь - объявлена ли эта переменная в $_POST.
Если объявлена - вход уже повторный, сортируешь по ней. Если не объявлена - вход первый.
(Добавление)
Ну я не говорю вообще, что если вариантов немного, то можно их вообзе все разом загружать в скрытые дивы и джкюери показывать нужные по ончендж первого селекта.
А уж второй селект пусть онсабмитом будет.

(Отредактировано автором: 08 Января, 2013 - 14:07:45)



-----
Истина прежде всего в том, что...
 
 Top
kdy
Отправлено: 08 Января, 2013 - 14:13:43
Post Id


Новичок


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


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




ну таки я так и делаю, только собираюсь передавать не реферера, а код алгритма дальнейших действий.
другой вопрос - клиенту то этого видеть не надо...
напрашивается вопрос, скорей из HTML, как сделать инпут совсем невидимым, учитывая, что эту страницу могут вставить на любом фоне:
 
 Top
LShark
Отправлено: 08 Января, 2013 - 14:29:27
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


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




Сэр....
CODE (html):
скопировать код в буфер обмена
  1. <input name="имя_формы" type=hidden value="...">

Ну или
CODE (html):
скопировать код в буфер обмена
  1. <input name="имя_формы" type=text value="..." style='display: none;'>


В обоих случаях этот инпут видно не будет.

(Отредактировано автором: 08 Января, 2013 - 14:29:48)



-----
Истина прежде всего в том, что...
 
 Top
kdy
Отправлено: 08 Января, 2013 - 14:31:19
Post Id


Новичок


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


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




багодарю, сейчас попробую Улыбка
(Добавление)
2LShark
Благодарю, второй ваоиант коасиво отработал...
щас работает так, как и хотел Улыбка
а знаний по PHP и HTML у меня маловато однако еще...
 
 Top
Unit221
Отправлено: 11 Августа, 2013 - 13:37:29
Post Id


Новичок


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


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




А если у меня в самом value="..." надо подставить переменную $mr['id'].


У меня есть форма которая создается из запроса БД. (Таких через цикл выводит много.
У каждого вывода есть своя кнопка. Которая должна передавать значение на другую страницу.


PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $ress=mysql_query("SELECT  `id`, `klientmenu`, `zacazmenu`, `syti1`, `syti2`, `datein`, `dateaut`, `mdraiv`, `dolg`, `stazakaz`, `staperevoz` FROM `zayavki`",$bd);
  4. $mr=mysql_fetch_array($ress);
  5. do {
  6.         echo '<form action="redzaiavka.php" method="post">';
  7.         echo ' Заявка номер: <big><b>'.$mr['id'].'</big></b>';
  8.         echo ' Заказчик: <big><b>'.$mr['klientmenu'].'</big></b>';
  9.         echo ' Перевозчик: <big><b>'.$mr['zacazmenu'].'</big></b>';
  10.         echo ' Из: <big><b>'.$mr['syti1'].'</big></b>';
  11.         echo ' В: <big><b>'.$mr['syti2'].'</big></b>';
  12.         echo ' Водитель: <big><b>'.$mr['mdraiv'].'</big></b>';
  13.         echo ' Ставка Заказчик: <big><b>'.$mr['stazakaz'].'</big></b>';
  14.         echo ' Ставка Перевозчик: <big><b>'.$mr['staperevoz'].'</big></b>';
  15.         echo ' Дата загрузки: <big><b>'.$mr['datein'].'</big></b>';
  16.         echo ' Дата разгрузкик: <big><b>'.$mr['dateaut'].'</big></b>';
  17.         echo ' Долг: <big><b>'.$mr['dolg'].'</big></b>';?>
  18.                
  19.         <input name="hiden" type="hidden" value=" <?PHP $mr['id'];?> ">
  20.        
  21.         <?PHP echo '<input type="submit" value="Открыть">';
  22.         echo '</form>';
  23.         echo '<hr>';   
  24. } while ($mr=mysql_fetch_array($ress));
  25.  


как через скрытый инпут отправить переменную а не просто значение.

У меня почемуто не улетает если я подставлю

PHP:
скопировать код в буфер обмена
  1.  
  2. <input name="hiden" type="hidden" value=" <?PHP $mr['id'];?> ">
  3.  


на странице где принимаю код:

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. echo echo $_POST['hiden'];
  4. ?>
  5.  

(Отредактировано автором: 11 Августа, 2013 - 14:04:48)

 
 Top
imya
Отправлено: 11 Августа, 2013 - 13:49:42
Post Id



Участник


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Сент. 2012  
Откуда: Запорожье, Украина


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




PHP:
скопировать код в буфер обмена
  1. <input name="hiden" type="text" value="<?PHP echo $mr['id'];?>" />


-----
PHP:
скопировать код в буфер обмена
  1. do {box != cat;} while (cat != box);


Когда нормальный человек, уезжая из дома одевает на жену пояс верности, веб-дизайнер ставит на нее счетчик...
 
My status
 Top
Unit221
Отправлено: 11 Августа, 2013 - 13:55:10
Post Id


Новичок


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


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




Да вы правы это я после экспериментов выложил изначально она выглядит так

<input name="hiden" type="hidden" value=" <?PHP $mr['id'];?> ">

исправил но как не работало так и не работает Огорчение

(Отредактировано автором: 11 Августа, 2013 - 14:04:18)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB