Вставка переменных сеанса в форму через PHP - PullRequest
1 голос
/ 02 марта 2010

Я пытаюсь вставить переменную сеанса $ _SESSION ['MM_loginName'] в таблицу через форму.

Я знаю, что переменная сеанса работает на новой странице с помощью:

<?php
 echo "MM_loginName = {$_SESSION['MM_loginName']} <br>\n";
?>

Я прочитал, что это может работать (если глобальные регистры отключены):

<input type="hidden" name="loginName" value="<?php echo $_SESSION["MM_loginName"]; ?>" />

но это не так, потому что я думаю, что глобальные регистры устарели.

Это должно работать:

<input type="hidden" name="username" value="<?php echo "$myusername"; ?>" />

но я не знаю, как переписать код в "$ loginName"

Помощь

Вот моя структура таблицы / формы:

<tr>
   <td width="99"></td>
   <td width="391"><input type="hidden" name="loginName" id="loginName" value= "????/></td>
</tr>

Спасибо Michael

Ответы [ 2 ]

2 голосов
/ 02 марта 2010

Я думаю, что ваш первый не работает, потому что ссылки на значения переменных массива в строках не оцениваются в echo операторах. Предполагая, что вы хотите поместить имя пользователя, которое хранится в сеансе, в поле значения вашей формы, я бы сделал что-то вроде:

<tr>
   <td width="99"></td>
   <td width="391"><input type="hidden" name="loginName" id="loginName" value= "<?php echo $_SESSION['MM_loginName']; ?>" /></td>
</tr>
0 голосов
/ 02 марта 2010

Если первый фрагмент кода работает, у второго нет логической причины не работать. Они абсолютно одинаковы с точки зрения PHP.

Вам необходимо зарегистрировать сеанс перед любыми вызовами глобального сеанса, см. http://php.net/manual/en/function.session-register.php

...