Comment mieux coder cette partie de code ?
Résolu
Aaymeric
Messages postés
83
Statut
Membre
-
Aaymeric Messages postés 83 Statut Membre -
Aaymeric Messages postés 83 Statut Membre -
Bonjour,
Essayant de faire de une page pour modifier les cordonnées d'une personne dans un formulaire, j'ai écris ce code:
Mais voila, je le trouve horriblement laid. Rassurez moi, il y a une solution non ? ^^
Ah et pour le value"", je cherche encore ;)
Essayant de faire de une page pour modifier les cordonnées d'une personne dans un formulaire, j'ai écris ce code:
<td>
<?php
if(!empty($donnees['nom'])){
?> <input type="text" name="nom" value="<?php $donnees['nom']; ?>" />
<?php
} else {
?><input type="text" name="nom" value="<?php echo 'Le champ est vide !'; ?>" />
<?php
}
?>
</td>
Mais voila, je le trouve horriblement laid. Rassurez moi, il y a une solution non ? ^^
Ah et pour le value"", je cherche encore ;)
7 réponses
-
Bonjour,
Déjà .... évites donc de fermer/ouvrir des balises PHP en rafale....
Ensuite... au lieu d'utiliser du IF / ELSE ... tu peux faire la même chose en écriture TERNAIRE.
Donc par exemple :
<td> <?php $valeur_name = isset($donnees['nom']) && !empty($donnees['nom']) ?$donnees['nom']: 'Le champ est vide !' ; echo "<input type='text' name='nom' value='".$valeur_name."' >"; ?> </td>
-
Le problème de base a été résolue et je t'en remercie mais il y a un nouveau soucis.
J'envoie les données sur une page de vérification via la méthode "post" mais cette seconde page ne détecte pas $_POST['nom'] (par exemple).
Une petite idée ?-
Des idées ce n'est pas ce qui manque ^^
echo var_dump($_POST); die();
http://www.lephpfacile.com/manuel-php/function.var-dump.php
Cdt
-
-
Bonjour,
J'envoie les données sur une page de vérification via la méthode "post" mais cette seconde page ne détecte pas $_POST['nom'] (par exemple).
Comme le suggère Ludo (que je salue au passage ^^ ), il te faut dans un premier temps deboguer ton code... et pour cela .. ne pas hésiter à afficher tes variables à l'aide de var_dump... print_r ..etc.......
Ensuite.... si tu ne reçois effectivement aucune donnée POST dans ta page... c'est sûrement que tu as un souci au niveau de ton FORM ....
Pour que l'on puisse t'aider... il faut que tu nous montres le code de ton formulaire....
-
Pourquoi c'est déconseillé et "mauvais" d'utiliser le die(); ?
Sinon voici le code de mon formulaire. Je l'ai raccourcie pour mettre seulement un cas de $_POST().
<div id="infomembre"> <form methode="post" action="verifmodifinfo.php"> <table> <span class="information">Mes informations</span> <tr> <td>Nom:</td> <td> <?php $reponse = isset($donnees['nom']) && !empty($donnees['nom']) ?$donnees['nom']: '' ; echo "<input type='text' name='nom' value='".$reponse."' >"; ?> </td> </table><br> <input type="submit" class="boutonmodifier" value="Envoyer"/> </form> </div>
Merci pour vos réponses :) -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
J'avoue -_- Merci !
J'ai d'autres problèmes ...
La partie de code que je vous ai envoyé concerne l'exemple pour le "nom" mais j'ai utilisé le même code pour toutes les autres informations (variables) exemple: prenom, adresse, ... (prenom est le 2ème dans le code)
Concernant le champ "nom", celui-ci est déjà complété par Dubois (par exemple).
j'ai trois autres champs qui ne sont pas complétés. Je les complète simplement par a, b et c.
Une fois les informations complétés, le bouton renvoie les variables en POST vers une page de vérification. Pour vérifier si les $_POST('maVariable'); fonctionnent, je fais un echo. Et la, pour echo $_POST('nom'), au lieu de m'afficher "Dubois" il m'indique c et ensuite, j'ai le même message d'erreur pour toutes les autres variables (prenom, adresse, ...).
Du coup, au lieu de mettre pour chaque information (nom, prenom,...)
le code suivant:$reponse = isset($donnees['nom']) && ...
Je mets pour le nom:<?php $repnom = isset($donnees['nom']) && !empty($donnees['nom']) ?$donnees['nom']: '' ; echo "<input type='text' name='nom' value='".$repnom."' >"; ?>
Le prénom:<?php $repprenom = isset($donnees['prenom']) && !empty($donnees['prenom']) ?$donnees['prenom']: '' ; echo "<input type='text' name='prenom' value='".$repprenom."' >"; ?>
Et ainsi de suite mais j'ai toujours le même problème ... -
J'ai résolue moi même le problème en affichant le code ici ... je ne remplaçais pas le name="maVariable" ...
Merci pour vos réponses ! :)