Page 1 sur 2

syntaxe etrange

Posté : 26 janv. 2012, 16:00
par demonjhpn
<?php
  echo "<html>  
  <label>Nom : </label>
  <Input type='text' name='Nom' value=$nom>
  </Form>
  </html>
  ";
  ?>
Mais
<?php
  echo "<html>  
  <label>Nom : </label>
  <Input type='text' name='Nom' readonly='readonly' value=$nom>
  </Form>
  </html>
  ";
  ?>
Ne fonctionne pas !? ou ai l'erreur ?
Pourquoi dois je utiliser des ' ' a la place des " " dans ce genre de code html ?

Merci tlm pour votre aide !

Re: syntaxe etrange

Posté : 26 janv. 2012, 16:23
par demonjhpn
<input value="$nom" type="text" name="imTxtDat" readonly="readonly" />


<?php
  echo "<html>  
  <label>Nom : </label>
  <Input type='text' name='Nom' value=$nom>
  </Form>
  </html>
  ";
  ?>
Ces deux codes sont egalement en html mais les syntaxes sont differentes au niveau ' ' et " " pourquoi ? de plus dans l'un des cas la définition de value fontionne (2° cas) mais pas dans le premier et je n'arrive a rien afficher dans cet element text. Je serais a la ramasse la :/

merci

Re: syntaxe etrange

Posté : 26 janv. 2012, 16:51
par moogli
Les attributs html c'est avec des "
Tu peux échapper les " avec un \ devant dans les chaînes de caractère.
Donc \"

Dans ton code $nom n'est pas déclarée...


@+

Re: syntaxe etrange

Posté : 26 janv. 2012, 17:03
par demonjhpn
ok mais ca repond pas a ma question merci kan meme.

$nom est declarer dans mon code tel que :
$nom = $_SESSION['nom'];
dans la question reste d'actu.

Re: syntaxe etrange

Posté : 26 janv. 2012, 17:14
par popy
<?php
  echo '<html>  
  <form>
  <label>Nom : </label>
  <Input type="text" name="Nom" readonly="readonly" value="$nom" />
  </form>
  </html>
  ';
  ?>

Re: syntaxe etrange

Posté : 26 janv. 2012, 18:29
par xTG
Faut sortir la variable popy. ;)
<?php
  echo '<html>  
  <form>
  <label>Nom : </label>
  <Input type="text" name="Nom" readonly="readonly" value="' . $nom . '" />
  </form>
  </html>
  ';
  ?>

Re: syntaxe etrange

Posté : 26 janv. 2012, 19:43
par sirakawa
La syntaxe hors php est
<input type = 'text' name = 'Nom' value ='quelque chose' />
ou
<input type = "text" name = "Nom" value ="quelque chose" />
avec TOUT en minuscules et /> pour fermer la balise.
Maintenant quand tu fais du php, tu écris par exemple:
echo "titi"; ou echo 'tito';
mais si tu as besoin de mettre des doubles quotes dans ton message ex : il a dit :"je panse donc je suis", tu as deux solutions:
$variable = " il a dit : \"je panse donc je suis\""; // avec l'échappement \ qui empêche la double quote d'être comprise
// comme un élément de syntaxe PHP (les gurus disent l'empêchent d'être évaluée)...
$variable_1 = ' il a dit : "je panse donc je suis"'; sans échappement
echo "$variable";
echo "$variable_1";
si tu te sers de echo'$variable' la variable ne sera pas évaluée.
<?php
$variable = " il a dit : \"je panse donc je suis\"";
$variable_1 = ' il a dit : "je panse donc je suis"';
echo "$variable";
echo "$variable_1";
echo 'variable';
echo '$variable_1';
	$nom ="quelque chose";
	echo "<html>  
	<label>Nom : </label>
	<input type='text' name='Nom' value='$nom' />
  </form>
</html>  ";
?>
J'espère que ça éclaircit un peu.
D'où quand tu te sers de echo"" en mettant dedans du HTML qui aurait besoin de quotes ", soit tu échappes celles-ci, soit tu les remplaces par des simples quotes.
Pour un truc du genre:
echo "<input type="text" />;
tout analyseur, dont PHP, voyant le " qui suit le =, n'attend pas d'autre texte, mais une fin d'instruction le ; en l'occurrence, et ne sait que faire du reste.

Re: syntaxe etrange

Posté : 27 janv. 2012, 02:54
par demonjhpn
merci de toute ses reponses je vais avoir de quoi m'amuser ^^ je tient au courant si j'ai bien reussi a m'en sortir huhu

MERCI

Re: syntaxe etrange

Posté : 27 janv. 2012, 16:43
par demonjhpn
bon... une erreur qui me rend fou ^^
 <div>
          <label for="Itm_0">
          Nom :
          <input value=$_SESSION['Nom'] disabled="disabled" type="text" name="imTxtDat" id="Itm0" />
          </label>
          </div>
          <div>
          <label for="Itm_1">
          Prénom :
          <input value="' . $_nom . '" disabled="disabled" type="text" name="imTxtDat" id="Itm1" />
          </label>
          </div>
          <div>
          <label for="Itm_2">
          Adresse :
          <input value="$_nom" readonly="readonly" disabled="disabled" type="text" name="imTxtDat" id="Itm2" />
          </label>
          </div>
          <div>
          <label for="Itm_3">
          Ville :
          <input value='$_nom' readonly=readonly disabled="disabled" type="text" name="imTxtDat" id="Itm3" />
          </label>
          </div>
          <div>
          <label for="Itm_4">
          Code postale :
          <input value='$_SESSION['code_postale']' readonly=readonly disabled="disabled" type="text" name="imTxtDat" id="Itm4" />
          </label>
          </div>
          <div>
          <label for="Itm_16">
          E-mail :
          <input value="' . $_SESSION['mail'] . '" readonly=readonly disabled="disabled" type="text" name="imTxtDat" id="Itm16" />
          </label>
          
des champ de texte dans lesquels je veu ecrire des variable globales de session. J'ai essayé de les mettre en direct ou en passant par une variable intermediaire mais rien y fait ca ne s'affiche pas :/

ou ai mon erreur ?

Merci

Re: syntaxe etrange

Posté : 27 janv. 2012, 17:01
par demonjhpn
je vien de trouver cette maniere qui fonctionne !
         <input value="<?php echo $_SESSION['nom'];?>" disabled="disabled" type="text" name="imTxtDat" id="Itm1" />
 
obliger de passer par une balise php pour afficher cette fichue variable ?

Re: syntaxe etrange

Posté : 27 janv. 2012, 18:59
par xTG
Une variable n'existe pas en HTML... Ce n'est que du texte de balisage !
Donc oui les variables c'est avec PHP qu'on les manipule. ;)

Re: syntaxe etrange

Posté : 27 janv. 2012, 19:56
par demonjhpn
Merci xtg ! tu es une vraie mine d'info !

alé encore une a te soumettre !

je m'attaque au fonction ! C pire que tout mais bon je me lance ;p

J'ai cette fonction:
    function numorder()
    {
    var cars="az0erty2ui3op4qs5df6gh7jk8lm9wxcvbn";
    var long=cars.length;
    wpas="";
    taille=12;
    for(i=0;i<taille;i++){
      wpos=Math.round(Math.random()*long);
      wpas+=cars.substring(wpos,wpos+1);
    }
    document.write(wpas);
    }
    </script>>
Qui doit me retourner un n° aleatoire (ca fonctionne)

Ma question est sur l'utilisation de la valeur retournée pour l'afficher dans un champ texte style input.

Pour le moment j'arrive simplement a l'afficher de cette maniere:
<script type="text/javascript">document.write(numorder());
</script>
merci les gars !

Re: syntaxe etrange

Posté : 27 janv. 2012, 20:49
par xTG
Regardes du côté de getElementById() cela te renvoie un objet pointant sur l'élément html.
Et un élément input possède un attribut value.

Re: syntaxe etrange

Posté : 27 janv. 2012, 22:53
par sirakawa
$valeur = ( isset($_POST['var_du_formulaire'])) ? $_POST['var_du_formulaire']: "ouistiti";
print"
<form >
<input type = 'text' name = 'valeur_de_var_du_formulaire'' value ='$valeur' />
....
</form>

Re: syntaxe etrange

Posté : 28 janv. 2012, 09:35
par xTG
$valeur = ( isset($_POST['var_du_formulaire'])) ? $_POST['var_du_formulaire']: "ouistiti";
print"
<form >
<input type = 'text' name = 'valeur_de_var_du_formulaire'' value ='$valeur' />
....
</form>
Sauf qu'il est passé du coq à l'âne et que sa fonction est en javascript. :P