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

Résolu
Ysabe_l Messages postés 12714 Date d'inscription   Statut Contributeur Dernière intervention   -  
Ysabe_l Messages postés 12714 Date d'inscription   Statut Contributeur Dernière intervention   -
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
 
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 12714 Date d'inscription   Statut Contributeur Dernière intervention   277
 
Rha mais que j'suis bête ! Bien évidement.
Merci beaucoup.
0