Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> значение в поле hidden 
V
    Опции темы
Sniper
Дата 22.10.2007, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 511
Регистрация: 8.5.2002

Репутация: нет
Всего: 2



smile

Код

<input name="log" type="text" value="user">
<input name="hidden" type="hidden" id="hidden" value=<?php echo $_POST["log"]; ?> />


почему не передается значение?
если сделать:
Код

print $_POST['hidden'];


Если в value вписать просто строку, то всё в порядке.

Это сообщение отредактировал(а) Sniper - 22.10.2007, 09:23


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
MoLeX
Дата 22.10.2007, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



в место
Цитата(Sniper @  22.10.2007,  09:18 Найти цитируемый пост)
value=<?php echo $_POST["log"]; ?>

попробуй вот это
Код

value=<?=$_POST["log"]?>



--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Sniper
Дата 22.10.2007, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 511
Регистрация: 8.5.2002

Репутация: нет
Всего: 2



показывает на строчку с input и пишет 
Код

Undefined index: log in

почему log неопределён?  smile 
исправил 

ээ всёравно не работает.

Это сообщение отредактировал(а) Sniper - 22.10.2007, 09:48


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
Guedda
Дата 22.10.2007, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Давай подумаем логически, как это должно произойти:
После посыла формы на сервер, он еще не знает, что ему передали $_POST['log'], потому что он только пеередается. Так откуда же взяться этому $_POST['log']-у, если на сервере его еще нет?
Тебе надо просто обработать запрос сначала на стороне клиента, и присвоить хиддену то значение, которое в log. Поэтому тебе здесь поможет JS.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Sniper
Дата 22.10.2007, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 511
Регистрация: 8.5.2002

Репутация: нет
Всего: 2



Guedda,  знал бы я ещё js ;-)

Код

<input id="log" name="log" type="text" value="user"> 

Код

<script type="text/javascript">
    function copy_var() {
        login=document.getElementById("log").value;
        return login;
    }
</script>

думаю что вот так. А как дальше?

Это сообщение отредактировал(а) Sniper - 22.10.2007, 10:28


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
flashaa
Дата 22.10.2007, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 19
Всего: 25



Сделать проверку на пустоту и все. Если переменная пуста, будет вставлено значение по умолчанию.
Код

$hidden = (empty($_POST['log'])) ? $hidden = ''по умолчанию" : $_POST['log'];
...
<input name="hidden" type="hidden" id="hidden" value=<?= $hidden ?> />

PM MAIL   Вверх
Sniper
Дата 22.10.2007, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 511
Регистрация: 8.5.2002

Репутация: нет
Всего: 2



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


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
dsCode
Дата 22.10.2007, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 565
Регистрация: 8.9.2007
Где: Saint-Petersburg

Репутация: нет
Всего: 26



flashaa, <input value="<?php print isset($_POST['log']) ? $_POST['log'] : 'default'  ?>">


--------------------
the .code inside
:my music
PM MAIL WWW ICQ Jabber   Вверх
flashaa
Дата 22.10.2007, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 19
Всего: 25



Цитата(dsCode @  22.10.2007,  10:58 Найти цитируемый пост)
flashaa, <input value="<?php print isset($_POST['log']) ? $_POST['log'] : 'default'  ?>">

Cпасибо.
Sniper, у меня есть подозрения, что твоя форма методом GET работает, приведи полный текст странички.
PM MAIL   Вверх
Sniper
Дата 22.10.2007, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 511
Регистрация: 8.5.2002

Репутация: нет
Всего: 2



flashaa, 
вот я создал два файла
page1.php
Код

<form method="post" action="page2.php">
<input id="log" name="log" type="text" value="user">
<input type="submit" name="pos" value="Next" >
<input name="hidden" type="hidden" id="hidden" value="<?php print isset($_POST['log']) ? $_POST['log'] : 'default'  ?>" >
</form>

а вот второй 
page2.php 
Код

<?php
print $_POST['hidden'];
?>

показывается default

Это сообщение отредактировал(а) Sniper - 22.10.2007, 12:09


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
flashaa
Дата 22.10.2007, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 19
Всего: 25



Значит так:
1) Открываешь страницу первый раз. $_POST['hidden'] не существует, выводится default;
2) Жмешь submit, на cкрипт page2.php передаются следующие данные
log  => user
pos =>Next
hidden => default

Соответственно, print($_POST['hidden']) выведет 'default'.
Скрипт работает как и ожидается, а какой вывод ты хочешь получить?

PM MAIL   Вверх
Sniper
Дата 22.10.2007, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 511
Регистрация: 8.5.2002

Репутация: нет
Всего: 2



flashaa, пользователь вводит свой логин.
и этот логин при клике им на кнопку next передается на другую страницу(при помощи hidden кнопки).

Это сообщение отредактировал(а) Sniper - 22.10.2007, 12:44


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
flashaa
Дата 22.10.2007, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 19
Всего: 25



page1.php:
Код

<form method="post" action="page2.php">
<input id="log" name="log" type="text" value="user">
<input type="submit" name="pos" value="Next" >
<input name="hidden" type="hidden" id="hidden" value="<?php print isset($_POST['log']) ? $_POST['log'] : 'default'  ?>" >
</form>


page2.php
Код

<form method="post" action="page3.php">
<input type="submit" name="pos" value="Next" >
<input name="hidden" type="hidden" id="hidden" value="<?php print isset($_POST['log']) ? $_POST['log'] : 'default'  ?>" >
</form>


На второй странице в поле hidden будет значение log, которые пользователь ввел на первой странице.
PM MAIL   Вверх
Sniper
Дата 30.10.2007, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 511
Регистрация: 8.5.2002

Репутация: нет
Всего: 2



Применив JavaScript сделал вот это:

Код

<form method="post" action="page1.php" name="logpas"> 
<input id="loginname" name="log" type="text">
<input name="hidden" type="hidden" id="hidden" value="">
<input type="submit" name="pos" onClick="userlogin();" value="Next">
</form>

Код

<script type="text/javascript">
    function userlogin(){
    var loginuser=document.getElementById("loginname").value;
    var val = document.logpas.hidden.value;
    val=loginuser;
    }
</script>

непонятно теперь, почему конструкция
echo $_POST['hidden']; на странице page1.php не работает?


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
capitan
Дата 30.10.2007, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 27.2.2005
Где: Москва

Репутация: 9
Всего: 13



Sniper, 
Во первых, не используй в переменных зарезервированные слова. А то будешь полдня сидеть и искать почему у тебя код работает неправильно. Переименуй поле 
Код

<input name="hidden" type="hidden" id="hidden" value="">

например на 
Код

<input name="login_hidden" type="hidden" id="login_hidden" value="">


А во вторый, зачем так усложнять жизнь? Чем тебя не устраивает отправлять данные на эту же страницу?
И проверять нажатие.
Код

if (isset($_REQUEST['pos'])) {
    // тут всё это дело и обрабатываем
}


PM MAIL WWW ICQ   Вверх
Sniper
Дата 30.10.2007, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 511
Регистрация: 8.5.2002

Репутация: нет
Всего: 2



второй день уже  smile а ничего не работает.

мне соответственно нужно записать в сессии делаю так
Код

if (isset($_REQUEST['pos'])) {
    $_SESSION['item1'] = $Data[1];
    $_SESSION['item2'] = $Data[0];
    $_SESSION['username'] = $_POST['login_hidden'];
} 

соответсвенно хочу использовать на второй странице.
Код

<?php
    session_start();    
    echo "Item #: " . $_SESSION['item1'] . ", Item #: " . $_SESSION['item2']. ", User ".$_SESSION['username'];
?>

а оно не работает! smile 


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
capitan
Дата 30.10.2007, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 27.2.2005
Где: Москва

Репутация: 9
Всего: 13



И не будет работать. При первом запуске скрипта поле "login_hidden" пустое. При обработке формы ты в сессию его и пишешь:
Код

    $_SESSION['username'] = $_POST['login_hidden'];


пиши:
Код

    $_SESSION['username'] = $_POST['log'];

И не забывай session_start();   прописывать на всех страницах, где используются сессии.

P.S. А зачем тебе вообще поле "login_hidden" ? Какую функцию оно выполняет?

Это сообщение отредактировал(а) capitan - 30.10.2007, 14:58
PM MAIL WWW ICQ   Вверх
Sniper
Дата 30.10.2007, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 511
Регистрация: 8.5.2002

Репутация: нет
Всего: 2



 smile 
page1.php
Код

<?php
session_start();
$item =array("127.0.0.1","NewItem");
print_r($item);
?>
<form method="post" action="page2.php" name="logpas"> 
<input id="loginname" name="log" type="text">
<input name="login_hidden" type="hidden" id="login_hidden" value="">
<input type="submit" name="pos" onClick="userlogin();" value="Next">
</form>
    <script type="text/javascript">
        function userlogin(){
        var loginuser=document.getElementById("loginname").value;
        var val = document.logpas.login_hidden.value;
        val=loginuser;
        alert(val);
        }
    </script>
<?php        
    if (isset($_REQUEST['pos'])) {
        $_SESSION['item3'] = $item[0];
        $_SESSION['item4'] = $item[1];
        $_SESSION['username'] = $_POST['log'];
    }
?>


page2
Код

<?php
session_start();
echo "Item #: " . $_SESSION['item3'] . ", IP: " . $_SESSION['item4']. ", User ".$_SESSION['username'];
?>

что я не так делаю?


--------------------
"Я испытываю отвращение к системе, разработаннной для "пользователя", если в слове "пользователь" закодировано уничижительное значение "тупой и примитивный".
Кен Томпсон, создатель Unix
PM MAIL   Вверх
capitan
Дата 30.10.2007, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 27.2.2005
Где: Москва

Репутация: 9
Всего: 13



Код


<?php
    session_start();
    $item =array("127.0.0.1","NewItem");
    //print_r($item);
    
    if (isset($_POST['pos'])) {
        $_SESSION['item3'] = $item[0];
        $_SESSION['item4'] = $item[1];
        $_SESSION['username'] = $_POST['log'];
        Header("Location: page2.php");
    }
    
?>
    <form method="post" action="" name="logpas"> 
    <input id="loginname" name="log" type="text" value="<?=@$_SESSION['username'];?>">    
    <input type="submit" name="pos" value="Next">
    </form>


Непроверял, но должно работать.

Это сообщение отредактировал(а) capitan - 30.10.2007, 19:40
PM MAIL WWW ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0638 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.