| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > значение в поле hidden |
| Автор: Sniper 22.10.2007, 09:18 | ||||
почему не передается значение? если сделать:
Если в value вписать просто строку, то всё в порядке. |
| Автор: MoLeX 22.10.2007, 09:33 | ||
| в место попробуй вот это
|
| Автор: Sniper 22.10.2007, 09:44 | ||
показывает на строчку с input и пишет
почему log неопределён? исправил ээ всёравно не работает. |
| Автор: Guedda 22.10.2007, 09:53 |
| Давай подумаем логически, как это должно произойти: После посыла формы на сервер, он еще не знает, что ему передали $_POST['log'], потому что он только пеередается. Так откуда же взяться этому $_POST['log']-у, если на сервере его еще нет? Тебе надо просто обработать запрос сначала на стороне клиента, и присвоить хиддену то значение, которое в log. Поэтому тебе здесь поможет JS. |
| Автор: Sniper 22.10.2007, 10:17 | ||||
Guedda, знал бы я ещё js ;-)
думаю что вот так. А как дальше? |
| Автор: flashaa 22.10.2007, 10:34 | ||
Сделать проверку на пустоту и все. Если переменная пуста, будет вставлено значение по умолчанию.
|
| Автор: Sniper 22.10.2007, 10:41 |
| всегда вставляется "по умолчанию" |
| Автор: dsCode 22.10.2007, 10:58 |
| flashaa, <input value="<?php print isset($_POST['log']) ? $_POST['log'] : 'default' ?>"> |
| Автор: Sniper 22.10.2007, 12:08 | ||||
| flashaa, вот я создал два файла page1.php
а вот второй page2.php
показывается default |
| Автор: flashaa 22.10.2007, 12:23 |
| Значит так: 1) Открываешь страницу первый раз. $_POST['hidden'] не существует, выводится default; 2) Жмешь submit, на cкрипт page2.php передаются следующие данные log => user pos =>Next hidden => default Соответственно, print($_POST['hidden']) выведет 'default'. Скрипт работает как и ожидается, а какой вывод ты хочешь получить? |
| Автор: Sniper 22.10.2007, 12:40 |
| flashaa, пользователь вводит свой логин. и этот логин при клике им на кнопку next передается на другую страницу(при помощи hidden кнопки). |
| Автор: flashaa 22.10.2007, 12:50 | ||||
page1.php:
page2.php
На второй странице в поле hidden будет значение log, которые пользователь ввел на первой странице. |
| Автор: Sniper 30.10.2007, 10:06 | ||||
Применив JavaScript сделал вот это:
непонятно теперь, почему конструкция echo $_POST['hidden']; на странице page1.php не работает? |
| Автор: capitan 30.10.2007, 14:19 | ||||||
| Sniper, Во первых, не используй в переменных зарезервированные слова. А то будешь полдня сидеть и искать почему у тебя код работает неправильно. Переименуй поле
например на
А во вторый, зачем так усложнять жизнь? Чем тебя не устраивает отправлять данные на эту же страницу? И проверять нажатие.
|
| Автор: Sniper 30.10.2007, 14:37 | ||||
| второй день уже мне соответственно нужно записать в сессии делаю так
соответсвенно хочу использовать на второй странице.
а оно не работает! |
| Автор: capitan 30.10.2007, 14:57 | ||||
И не будет работать. При первом запуске скрипта поле "login_hidden" пустое. При обработке формы ты в сессию его и пишешь:
пиши:
И не забывай session_start(); прописывать на всех страницах, где используются сессии. P.S. А зачем тебе вообще поле "login_hidden" ? Какую функцию оно выполняет? |
| Автор: Sniper 30.10.2007, 19:07 | ||||
| page1.php
page2
что я не так делаю? |
| Автор: capitan 30.10.2007, 19:38 | ||
Непроверял, но должно работать. |