2010-01-10 2 views
6

Je me demandais s'il y a un moyen plus court d'écrire le code suivant:valeurs d'entrée réglage PHP avec isset

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

Je déteste avoir à faire cela va toutes mes formes comme isset() vérifier salit vraiment mon HTML et effraie les frontenders.

Répondre

5

vous pouvez faire une aide:

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

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

@marvin's suggestion est agréable pour votre script et

en ce qui concerne les gens de l'avant, je dirais leur donner un peu de base PHP à utiliser, comme dans ce tutoriel php pour les concepteurs: http://www.digital-web.com/articles/php_for_designers/

apprendre les scripts de base, je pense, est mieux que d'utiliser un système de templating externe

+0

Vous pouvez également mettre les htmlentities dans la fonction req, peut-être en option, pour simplifier davantage les choses. – JAL

3

Vous pouvez affecter les valeurs en partie php, puis echo juste en html

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

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

Pourquoi ne pas simplement

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

si $ _POST [ « username »] est vide alors il provoquera une valeur de " " en tous cas. Je sens qu'il me manque quelque chose.

+0

Il lance un avertissement (la clé n'existe pas). – dotty