Problème attribut : name dans un formulaire (PHP - XHTML)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème attribut : name dans un formulaire (PHP - XHTML)

par jpsartre » 14 sept. 2006, 22:09

This Page Is Valid XHTML 1.0 Strict!
Et le php marche aussi. Merci beaucoup, j'ai aussi supprimé les <p> comme tu me l'as indiqué, parfait.
Je suis ravi,
Merci beaucoup, et à bientôt.

par Cyrano » 14 sept. 2006, 21:48

Attention, l'attribut name est effectivement interdit en XHTML dans la balise <form>, mais pas dans les éléments du formulaire. Donc ton formulaire validé devrait ressembler à ceci:
<form id="form_pret" method="post" action="Simulateur/simulation.php">
  <fieldset>            
    <legend>Simulation</legend>
      <p>
        <label>
          <input name="montant" type="text" class="01" id="montant" value="<? if(isset($montant)) echo $montant; ?>" />
          Montant (&euro;)
        </label>
      </p> 
      <p> 
        <label>
          <input name="taux" type="text" class="01" id="taux" value="<? if(isset($taux)) echo $taux; ?>" />
          Taux (%)
        </label>
      </p>
      <p> 
        <label>
          <input name="duree" type="text" class="01" id="duree" value="<? if(isset($duree)) echo $duree; ?>" />
          Dur&eacute;e (mois)
        </label>
      </p>  
<?php
if(!isset($echeance)) $echeance = 12;
?>
      <input name="echeance" type="hidden" value="12"  id="echeance" />
      <input name="frm_pret" type="hidden" value="ok" />
      <input name="bouton" type="submit" id="bouton" value="Calculer" /> 
  </fieldset>                
</form>
Je sugèrerais toutefois une petite amélioration en remplaçant les balises <p> qui encadrent les champs et en utilisant une propriété CSS : display: block sur l'élément label qui aura le même effet :
<form id="form_pret" method="post" action="Simulateur/simulation.php">
  <fieldset>            
    <legend>Simulation</legend>
      <label>
        <input name="montant" type="text" class="01" id="montant" value="<? if(isset($montant)) echo $montant; ?>" />
        Montant (&euro;)
      </label>
      <label>
        <input name="taux" type="text" class="01" id="taux" value="<? if(isset($taux)) echo $taux; ?>" />
        Taux (%)
      </label>
      <label>
        <input name="duree" type="text" class="01" id="duree" value="<? if(isset($duree)) echo $duree; ?>" />
        Dur&eacute;e (mois)
      </label>
<?php
if(!isset($echeance)) $echeance = 12;
?>
      <input name="echeance" type="hidden" value="12"  id="echeance" />
      <input name="frm_pret" type="hidden" value="ok" />
      <input name="bouton" type="submit" id="bouton" value="Calculer" /> 
  </fieldset>                
</form>
CSS :

Code : Tout sélectionner

#form_pret.label { display: block; }

Problème attribut : name dans un formulaire (PHP - XHTML)

par jpsartre » 14 sept. 2006, 21:36

Bonsoir,

J'ai une erreur lors de la validatin XHTML à cause d'un attribut name dans mes balises form, input...
Name est interdit en XHTML 1.0 strict. Il est demandé de remplacer par id.
Le code :
   <form name="form_pret" id="form_pret" method="post" action="Simulateur/simulation.php">
 <fieldset>            
  <legend>Simulation</legend>
		<p>
        <label>
                    <input name="montant" type="text" class="01" id="montant" value="<? if(isset($montant)) echo $montant; ?>" />
          Montant (&euro;)</label>
        </p> 
				   	
        <p> 
          <label> 
          <input name="taux" type="text" class="01" id="taux" value="<? if(isset($taux)) echo $taux; ?>" />
          Taux (%)</label>
        </p> 
						
        <p> 
          <label> 
          <input name="duree" type="text" class="01" id="duree" value="<? if(isset($duree)) echo $duree; ?>" />
          Dur&eacute;e (mois)</label>
           </p>  
                    <?
                    
	  		if(!isset($echeance)) $echeance = 12;
	  	    ?>
			<input name="echeance" type="hidden" value="12"  id="echeance" />
                    <input name="frm_pret" type="hidden" value="ok" /> <input name="bouton" type="submit" id="bouton" value="Calculer" /> 
 </fieldset>                
            </form>
Le problème est que quand l'enlève name, et que je mets id à la place, ça ne marche pas, la page php qui traîte les informations ne reçoit rien.

J'ai l'impression, si l'on peut dire, que ça vient de la première ligne.

Si quelqu'un peut m'aider,

Merci