par
gabier » 14 juil. 2014, 10:13
Bonjour à tous,
Je ne suis pas vraiment débutant, mais j'ai l'impression que mon problème n'est pas compliqué, c'est pourquoi j'ai posé la question ici.
Je veux afficher un formulaire et le traiter dans la même page donc j'utilise l'adresse $_SERVER['PHP_SELF']. Mais l'affichage est conditionnel et le nombre de champs d'input est variable. Donc je le génère entièrement en php. Le problème est que pour afficher la balise <form> j'ai besoin de 3 niveaux de guillemets
Voici ce qui ne marche pas, je ne comprends pas pourquoi (je me ramasse une erreur de syntaxe "Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier...."
Code : Tout sélectionner
echo("<form class='myform' name='nom_simu' action=\"htmlentities($_SERVER['PHP_SELF'])\">");
J'ai trouvé une "solution" qui marche, je ne comprends pas non plus pourquoi ça marche (apparemment echo dans ce cas n'a pas besoin de guillemets(?). Et puis si je mets ça dans une boucle php je crains que ça ne pose problème.
Code : Tout sélectionner
echo "<form class='myform' name='choix_sup2' action="; ?> <?php echo htmlentities($_SERVER['PHP_SELF']); ?>
<?php echo("method='POST'>
<input ...'>
<input ...'>
<input type='submit' value='Envoyer'>
</form>
");
Donc j'aimerais mieux déboguer la première forme.

gabier
Bonjour à tous,
Je ne suis pas vraiment débutant, mais j'ai l'impression que mon problème n'est pas compliqué, c'est pourquoi j'ai posé la question ici.
Je veux afficher un formulaire et le traiter dans la même page donc j'utilise l'adresse $_SERVER['PHP_SELF']. Mais l'affichage est conditionnel et le nombre de champs d'input est variable. Donc je le génère entièrement en php. Le problème est que pour afficher la balise <form> j'ai besoin de 3 niveaux de guillemets
Voici ce qui ne marche pas, je ne comprends pas pourquoi (je me ramasse une erreur de syntaxe "Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier...."
[code]echo("<form class='myform' name='nom_simu' action=\"htmlentities($_SERVER['PHP_SELF'])\">");[/code]
J'ai trouvé une "solution" qui marche, je ne comprends pas non plus pourquoi ça marche (apparemment echo dans ce cas n'a pas besoin de guillemets(?). Et puis si je mets ça dans une boucle php je crains que ça ne pose problème.
[code]
echo "<form class='myform' name='choix_sup2' action="; ?> <?php echo htmlentities($_SERVER['PHP_SELF']); ?>
<?php echo("method='POST'>
<input ...'>
<input ...'>
<input type='submit' value='Envoyer'>
</form>
");
[/code]
Donc j'aimerais mieux déboguer la première forme.
:) gabier