PHP устанавливает входные значения с помощью isset - PullRequest
6 голосов
/ 11 января 2010

Мне было интересно, есть ли более короткий способ написания следующего кода:

<input type="text" name="username" value="<?if(isset($_POST['username'])){ echo $_POST['username']; }?>" />

Я ненавижу делать это, будут ли все мои формы, так как проверка isset () действительно испортит мой HTML и отпугнет пограничников.

Ответы [ 3 ]

5 голосов
/ 11 января 2010

Вы можете сделать помощника:

function req($key, $default = '')
{
  return isset($_REQUEST[$key]) ? $_REQUEST[$key] : $default;
}

<input name="user" value="<?php echo htmlentities(req('user')) ?>" />

@ marvin's предложение подходит и для вашего сценария

в отношении интерфейсных пользователей, я бы сказал, дайте им базовый php для использования, как в этом учебнике php для дизайнеров: http://www.digital -web.com / Articles / php_for_designers /

изучение базовых сценариев, я думаю, лучше, чем использование внешней системы шаблонов

3 голосов
/ 11 января 2010

Вы можете присвоить значения в части php, а затем просто повторить в html

$username = isset($_POST['username'])?$_POST['username']:'';

<input type="text" name="username" value="<?php echo $username;?>" />
1 голос
/ 11 января 2010

Почему бы не просто

<input type="text" name="username" value="<? echo $_POST['username']; ?>" />

, если $ _POST ['username'] пусто, тогда это все равно приведет к значению "".

Я чувствую, что что-то упустил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...