IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Les champs du formulaire se réaffichent tronqués


Sujet :

Langage PHP

  1. #1
    rjl
    rjl est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 81
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 301
    Points : 129
    Points
    129
    Par défaut Les champs du formulaire se réaffichent tronqués
    Bonjour,

    Ce problème me dépasse mais, si quelqu'un l'a eu, il ne peut oublier !
    En effet, la douzaine de champs de mon formulaire sont saisis et validés dans la même page qui se réaffiche (méthode des value=<? echo $ad2;?> >).

    Là ce serait l'idéal ! De fait, seule la première chaîne de caractère est reprise en affichage ce qui conduit à tronquer en pratique la majorité des donnée (dès qu'un blanc se présente dans la chaîne) !
    Je ne sors pas de la page sauf lorsque tout est réputé bon mais actuellement, les contrôles sont bloquants et je ne vais pas dans le module écriture de la base.
    Je joins le module en question (en plein développement donc avec quelques instructions "provisoires") :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    <?php				   // MàJ RJL2804 
    	session_start();   // Ouvrir la session
    	$nomresp = $_SESSION['Login'];
    	$cdpw = $_SESSION['MotPasse'];
    	$MajPossible = $_SESSION['Initiales'];
    	$npass = $_SESSION['npass'];
    	if ($_SESSION['erreur=0']and npass>0) {
    	header('Location:/pgUTL/traitformul.php');	exit;}
    	$_SESSION['npass']=$npass + 1 ;
    	?>
    <!DOCTYPE html>
    <html lang="fr"><head>
    <title>Pre Inscriptions</title>
    <?php include ("DoctPagesUTL.php"); ?>
    				<div class="basgch-acc2">
    					<p class="xsmall">Mis à jour le
    						05/08/2012 <br />
    						par RJL<br />
    						_____________<br />
    						Site optimisé<br />
    						768x1024 pixels
    					</p>
    					<img class="logo-22-acc2 cotarm" src="../index_fichiers/100px-CA_22.gif" alt="Logo Côtes d'Armor"/>
    				<!-- Fin basgch-acc2 --></div>
    			<!-- Fin class ctrge --></div>
    		<!-- Fin cadnav-acc2 --></div>
    	<!-- Fin colgch-acc2 --></div>
    	<div class="colreg">	
    		<div style="margin-top:0%; margin-left:6.5%"><img style="text-align: center; width: 87%;" alt="Image UTL StQuay" src="../index_fichiers/ImageStQuay2.jpg">
    		</div>
    	</div><!-- Fin colreg-->
    	<div class="formul"> 	
    		<p style="color: rgb(153, 0, 0);font-weight:bold;font-size : 160%;"> &nbsp; &nbsp; Formulaire : <span style="font-weight:lighter;font-size:85%;">  Toute donnée associée à un astérisque (*) est obligatoire</span></p>
     
    		<!--Début du "Form" 2621--><form method=POST action=FormPreInsc.php >
              <fieldset id="coordonnees"><legend style="color: rgb(153, 0, 0);"><span style="font-weight:bold;font-size:120%;">Coordonnées</legend>
                <p style="color: rgb(153, 0, 0);" >
    				<label for="anais">An naiss. * aaaa : </label>				
    <?php // vérification des champs
    	$_SESSION['erreur']=0; $erreur = 0; 
    	$message=" ";
    	$anais =($_POST['anais']);
    	$anaisX=0;
    	$ancour = date("Y");
    	if (empty($anais))  {$anaisX=1;}
    	$anais = intval($anais);
    	if ((($anais) != ($_POST['anais'])) or		
    			 (($anais < $ancour - 100) or
    				($anais > $ancour -25))) {$anaisX=1;}
    	if ($anaisX	> 0)  	{$message  .= "Année naissance non conforme<br/>";}
    //	$ch	= "<input id="anais" name="anais"  type="text" required="required" size="4" value=";
    //	$chst=echo $anais;
    //	$chcomplet=$ch.$chst."/>";
    //	if ($anaisX==0) {echo $chcomplet; }
    ?>	
    				<input id="anais" name="anais"  type="text" required="required" size="4" value=<? echo $anais;?> />	
    				<label for="civil">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Civilité : </label>
    				<input id="civil" name="civil" type="radio" value="M. " />M. 
    				<input name="civil" type="radio" checked="checked" value="Mme ;" />Mme<span style="font-style : italic;font-weight: lighter;">&nbsp; &nbsp; &nbsp; &nbsp;
    					<span style="font-style : italic;font-weight: lighter;font-size:85%;">(Cliquez le bouton devant M. si homme)</span><br />
    				<label for="nomadh">Nom *.................. : </label>
    				<input id="nomadh" name="nomadh" type="text" required="required" size="30" value=<? echo $nomadh;?> > &nbsp;............................ 
    				<label for="prenom">Prénom * ........... : </label>
    				<input id="prenom" name="prenom" type="text" required="required" size="30" value=<? echo $prenom;?> ><br />
    				<label for="ad1">Adresse * ........... : </label>
    				<input id="ad1" name="ad1" type="text" required="required" size="30" value=<? echo $ad1;?> >..............................
    				<label for="ad2">Adresse&nbsp; &nbsp; &nbsp; suite : </label>
    				<input id="ad2" name="ad2" type="text" required="required" size="30" value=<? echo $ad2;?> ><br />
    				<label for="cpost">Code Postal * .... : </label>
    <?php 		
    				$cpostX=0;
    				$cpost =($_POST['cpost']);				
    				if ((empty($cpost)) 	or 
    					(is_int($cpost))) {$cpostX=1;}
    				else if (($cpost <1000) or
    						($cpost > 95999)) {$cpostX=1;}
    				if ($cpostX==1) {$message .= "C. Postal incorrect<br/>"; }
    //	$ch	= "<input id="cpost" name="cpost" type="text" required="required" size="5" value=";
    //	$chst=echo $cpost;
    //	$chcomplet=$ch.$chst."/>";
    //	if ($cpostX==0) {echo $chcomplet; }
    //?>	
    				<input id="cpost" name="cpost" type="text" required="required" size="5" value=<? echo $cpost;?> />
    				.................................................................... 
    				<label for="ville">Ville * ................ : </label>
    				<input id="ville" name="ville" type="text" required="required" size="30" value=<? echo $ville;?> ><br />
    <?php			$erreur=$anaisX+$cpostX;?>
    				<label for="tfixe">Téléph. Fixe........ : </label>
    				<input id="tfixe" name="tfixe" type="text" size="10" value=<? echo $tfixe;?> />
    				.....aucun espace entre les chiffres des N°....... 
    				<label for="tmob">Téléph. Mobile : </label>
    				<input id="tmob" name="tmob" type="text" size="10" value=<? echo $tmob;?> /><br />
    				<label for="admail">e-mail.................. : </label>
    				<input id="admail" name="admail" type="text" size="80" value=<? echo $admail;?> />
    			</p>
    		  </fieldset>
    <?php
    		  print_r($message);
    		  $message=" ";
    		  $_SESSION['erreur']=$erreur;  
    		  print_r($message);print_r($erreur);?>
    		  <div style="text-align:center;">
    		  <input style="color: rgb(153, 0, 0);font-weight:bold;" type="submit" name="envoi" value="Envoi du Formulaire ">&nbsp; &nbsp; &nbsp; &nbsp;
    <!-- 		  <input style="color: rgb(153, 0, 0);" type="reset" value="Recommencer la saisie"> -->
    		  </div>
    		<!-- Fin du "Form"  2621--></form><br />
        </div><!--fin formul -->
    </div><!--fin "Block-page"-->
    </body></html>
    Si vous avez des remarques parallèles à faire, elles seront aussi les bien venues.

    Merci de votre appui et bon dimanche RJL2805

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    merci de mettre le code HTML généré et non le code PHP.

  3. #3
    rjl
    rjl est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 81
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 301
    Points : 129
    Points
    129
    Par défaut
    Bonjour NoSmoking,
    Merci de l'intervention dont j'ai cru initialement que c'était une réponse à mon problème... puisqu'il y a génération en cours de traitement ( d'où ma confusion) !
    Pour ma gouverne, où puis-je trouver le code généré ? Je suppose dans le code source de la page ?
    Mais alors problème sur les aspects délicats de mon sujet puisqu'il manquera les instructions générées dont, en particulier, les value des INPUT ; ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     <input id="ad2" name="ad2" type="text" size="30" value= ><br />
    				<label for="cpost">Code Postal * .... : </label>
     
    				<input id="cpost" name="cpost" type="text" required="required" size="5" value= />
    				.................................................................... 
    				<label for="ville">Ville * ................ : </label>
    				<input id="ville" name="ville" type="text" required="required" size="30" value= ><br /></
    Inversement, le code PHP me paraît plus riche et permet de comprendre ? C'est d'ailleurs souvent le cas PHP et HTML étant souvent dépendant : on n'est pas ici en programmation dynamique mais, malgré tout, comment répondre à une question qui porte sur le généré en ligne par A titre d'exemple, je rappelle le généré correspondant aux quelques lignes ci-dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    				<input id="ad2" name="ad2" type="text" required="required" size="30" value=<? echo $ad2;?> ><br />
    				<label for="cpost">Code Postal * .... : </label>
    <?php 		
    				$cpostX=0;
    				$cpost =($_POST['cpost']);				
    				if ((empty($cpost)) 	or 
    					(is_int($cpost))) {$cpostX=1;}
    				else if (($cpost <1000) or
    						($cpost > 95999)) {$cpostX=1;}
    				if ($cpostX==1) {$message .= "C. Postal incorrect<br/>"; }
    				<input id="cpost" name="cpost" type="text" required="required" size="5" value=<? echo $cpost;?> />
    				.................................................................... 
    				<label for="ville">Ville * ................ : </label>
    				<input id="ville" name="ville" type="text" required="required" size="30" value=<? echo $ville;?> ><br />
    Merci de me confirmer cette nécessité de ne pas communiquer le PHP car je ne suis pas encore, en l'état actuel de notre échange, persuadé que le résultat soit probant ?
    RJL2805

  4. #4
    rjl
    rjl est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 81
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 301
    Points : 129
    Points
    129
    Par défaut
    Un constat intéressant :

    Je travaille sur une page PHP/HTML unique qui se réalimente sur elle-même par le submit.
    Dans ce cas, mes données se trouvent tronquées lors du réaffichage.
    Inversement, si je modifie mon code (cible du submit modifiée), en affichant directement la page d'enregistrement de ma base de données MySQL (donc sans avoir pris en compte les résultats des contrôles), bon ou incorrect, l'enregistrement est conforme à ce qui a été saisi ; bien sûr ce traitement n'est en rien satisfaisant (surtout en "préinscription" par les internautes, eux-mêmes).
    Pour autant, ça me paraît être un indice sur l'origine du problème ?
    Merci de vos remarques.
    RJL2805

  5. #5
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    bon, on va commencer par le commencement.

    c'est du php, donc rien à faire ici. je vais déplacer.

    ensuite, tes variable $nomadh etc ... arrive comme par enchantement dans ton script aucune réception depuis l'envoi de ton formulaire ce qui donc pousse a croire qu'elles resterons vide.

    à cela s'ajoute <? ?> je pense qu'en mettant <?php ?> sur tes valude de formulaire et en plaçant les "" qui vont bien cela risque de mieux fonctionner.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  6. #6
    rjl
    rjl est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 81
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 301
    Points : 129
    Points
    129
    Par défaut
    Bonjour,

    Effectivement, j'avais tout faux !

    Au final, je reprends tout à la base et reste sur mon formulaire (y compris pour traiter les résultats) en récupérant mes données, pas même par GET (et non POST comme écris par erreur) mais en les transmettant par $_SESSION().

    Merci de cet appui et je te tiendrai au courant du résultat.
    RJL2807

Discussions similaires

  1. verifier que tout les champs du formulaire sont remplis
    Par dirty_harry dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 15/03/2012, 12h50
  2. Problème Notice dans les champs de formulaire.
    Par pony99 dans le forum Langage
    Réponses: 8
    Dernier message: 06/03/2009, 16h59
  3. Réponses: 4
    Dernier message: 09/05/2008, 00h22
  4. Vérifier que tous les champs du formulaire soient bien remplis
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 25/08/2007, 11h59
  5. Probleme avec les champs du formulaire
    Par Red_devils dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 29/09/2004, 13h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo