Использование переменной PHP в текстовом вводе value = Statement - PullRequest
7 голосов
/ 15 декабря 2010

Я извлекаю три фрагмента информации из базы данных, одно целое число, одну строку и одну дату.

Я выводю их, чтобы убедиться, что переменные содержат данные.

Когда я тогдаиспользуйте переменные для заполнения трех полей ввода на странице, они не заполняются правильно.

Не работают следующие параметры:

id: <input type="text" name="idtest" value=$idtest>

Да, переменная должна быть внутридля того, чтобы это было видно.

Итак:

id: <input type="text" name="idtest" value=<?php $idtest ?> />

В поле отображается /.

Когда я вырываюсь из кавычек,

id: <input type="text" name="idtest" value=\"<?php $idtest ?>\"  />

тогда в поле отображается \"\".

с одинарными кавычками

id: <input type="text" name="idtest" value='<?php $idtest ?>'  />

в поле ничего не отображается или пусто.

с экранированными одинарными кавычками

id: <input type="text" name="idtest" value=\'<?php $name ?>\'  />

в поле отображается \'\'.

С косой чертой (я знаю, что это неправильно, но исключить ее из обсуждения),

id: <input type="text" name="idtest" value=/"<?php $name ?>/"  />

в поле отображается /"/".

Двойные кавычки, экранирующие двойные кавычки, экранирующие двойные кавычки только на левой стороне и т. Д. Не работают.

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

Что мне здесь не хватает?

Ответы [ 6 ]

36 голосов
/ 15 декабря 2010

Попробуйте что-то вроде этого:

<input type="text" name="idtest" value="<?php echo htmlspecialchars($name); ?>" />

То есть то же самое, что тридцатка предложила , за исключением предотвращения также атак XSS.

Вы также можете использовать синтаксис <?= (см. Примечание), хотя это может работать не на всех серверах. (Это включается параметром конфигурации.)

6 голосов
/ 15 декабря 2010

Вам нужно, например:

<input type="text" name="idtest" value="<?php echo $idtest; ?>" />

Функция <a href="http://php.net/manual/en/function.echo.php" rel="noreferrer">echo</a> - это то, что фактически выводит значение переменной.

2 голосов
/ 01 мая 2016

С точки зрения HTML все уже сказано, но для того, чтобы немного исправить подход на стороне PHP и принять во внимание советы тридцати точек и icktoofay:

<?php echo '<input type="text" name="idtest" value="' . htmlspecialchars($idtest) . '">'; ?>
2 голосов
/ 01 апреля 2015

Решение

Вам не хватает эха . Каждый раз, когда вы хотите отобразить значение переменной в HTML, вам нужно повторить его.

<input type="text" name="idtest" value="<?php echo $idtest; ?>" >

Примечание. В зависимости от значения, ваш эхо-сигнал - это функция, которую вы используете для его выхода, например htmlspecialchars.

0 голосов
/ 15 февраля 2016

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

echo '<input type = "text" value = '.$idtest.'>'; 
0 голосов
/ 10 августа 2015

Если вы хотите прочитать любую созданную функцию, вот как мы это делаем:

<input type="button" value="sports" onClick="window.open('<?php sports();?>', '_self');">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...