Formulaire - je n'ai que le début de ma variable

Résolu/Fermé
Ysabe_l Messages postés 12456 Date d'inscription vendredi 12 avril 2013 Statut Contributeur Dernière intervention 25 avril 2024 - 30 mai 2013 à 22:13
Ysabe_l Messages postés 12456 Date d'inscription vendredi 12 avril 2013 Statut Contributeur Dernière intervention 25 avril 2024 - 30 mai 2013 à 22:38
Bonjour,

Voilà je suis en train de créer un formulaire. La page de traitement du formulaire est la même page que celle où il est affiché. Je voudrais que lors de l'envoi ça vérifie si tous les champs sont ok et si ce n'est pas le cas ça affiche les erreurs et pré-rempli le formulaire avec ce qui avait été saisi pour éviter à l'utilisateur de tout re-taper.

Le problème se pose pour les variables dont la valeur contient un espace (mes champs d'adresse en l'occurrence). Le echo n'affiche que la partie avant l'espace, 1 rue des bluets n'affichera donc que 1. Pourtant lors de l'ajout à la base de données il m'enregistre bien la totalité.

Je vous poste les bouts de codes correspondants :

<p>
	<label for="addr1">Adresse : </label>
	<input type="text" name="addr1" id="addr1" value=<?php echo $addr1; ?> />
</p>
<p>
	<label for="addr2">Complément d'adresse : </label>
	<input type="text" name="addr2" id="addr2" />
	<a href="#" title="Uniquement si nécessaire" value=<?php echo $addr2; ?> ><img src="interro.png" /></a>
</p>


Mon formulaire est envoyé par post, je récupère les données là :

if(isset($_POST['valider'])) // si le formulaire est validé
{
	// mise en variables des éléments du formulaire
	$civilite = $_POST['civilite'];
	$nom = $_POST['nom'];
	$prenom = $_POST['prenom'];
	$addr1 = $_POST['addr1'];
	$addr2 = $_POST['addr2'];
[la suite du code]
}


Et par la suite que je fasse

echo $addr1;	


ou

echo $_POST['addr1'];


ça me retourne la même chose, juste la partie avant l'espace.

Bien sur vous vous doutez de ma question, comment faire pour afficher la totalité de ce qui a été saisi (et qui est bien présent puisque l'ajout à la base de données se fait sur la totalité).

Merci d'avance.

1 réponse

Utilisateur anonyme
30 mai 2013 à 22:34
Bonjour

En HTML, si une valeur contient un espace, il faut la mettre entre quotes (simples ou doubles). Donc :
<input type="text" name="addr1" id="addr1" value="<?php echo $addr1; ?>" />


(Même principe pour les autres valeurs)
0
Ysabe_l Messages postés 12456 Date d'inscription vendredi 12 avril 2013 Statut Contributeur Dernière intervention 25 avril 2024 274
30 mai 2013 à 22:38
Rha mais que j'suis bête ! Bien évidement.
Merci beaucoup.
0