php generant du html enfonction du choix sur une comboBox

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 : php generant du html enfonction du choix sur une comboBox

par celsius » 04 mai 2005, 11:49

nan c'est bon j'ai trouvé en fait,

c'était un probleme de <form action..> </form> qui n'englobait pas tout le code mais seulement une partie et comme les reset et submit ne l'était pas forcément il ne sont pas activer

merci

par Cyrano » 04 mai 2005, 10:41

Ça, c'est du html. Le bouton de type reset va effacer seulement les modifications qui ont été faites sur la page courante: si tu as fait recharger la page d'une manière où d'une autre et que tu as programmé de façon à conserver ce qui a été incrit, la page rechargée a des informations modifiables de base dans les zones de saisie. Le bouton reset effacera les modifications que tu feras seulement à partir de cette base et si tu as une zone avec "texte quelconque" au rechargement, que tu le change en "texte ordinaire", le bouton reset va remettre "texte quelconque" et non effacer la zone. Techniquement, tu n'es plus sur la même page, je devrais dire, la même instance de page, mais une nouvelle instance créée au rechargement.

par celsius » 04 mai 2005, 10:32

apparement le code fonctionne et j'y est ajouter les differentes parties du IF et ELSE IF mais comment se fait-il que le bouton RESET à coté du SUBMIT ne fonctionne pas (pour le submit je ne l'ai pas encore activé), il n'efface rien...


[php]
else if ($_POST['choix']== "suppress_tech")
{
echo("<input type=\"submit\" name=\"Valider\" value=\"Valider\" />");
echo("<input type=\"reset\" name=\"Effacer\" value=\"Effacer\" />");

}[/php]

par Cyrano » 03 mai 2005, 15:55

...pour ce qui est de l'indentation, franchement je m'y retrouve bien ...
Programmez en imaginant que celui qui devra assurer la maintenance de votre code est un dangereux psychopathe qui connait votre adresse personnelle ;)

par celsius » 03 mai 2005, 15:43

ah oui les operateurs d'assignation et de comparaison j'avais pas fait attention !!!! merci

pour ce qui est de l'indentation, franchement je m'y retrouve bien mais j'organise mon code de cette maniere a cause des nombreuses heures à passer a faire de l'algo ou du java/c en cours

je rectifie tout sa et je vois...

par Cyrano » 03 mai 2005, 15:34

Attention :
- = est un opérateur d'assignation:
- == est un opérteur de comparaison;
<?php

if ($_POST['choix']=="")
{
    echo("RIEN DU TOUT");
}
else if ($_POST['choix']=="ajout_admin")
{
    echo("<b>AJOUT ADMIN</b>");
}
else if ($_POST['choix']=="ajout_tech")
{
    echo("<b>AJOUT TECH</b>");
}
else if ($_POST['choix']=="suppress_admin")
{
    echo("<b>SUPPRESSION ADMIN</b>");
}
else if ($_POST['choix']=="suppress_tech")
{
    echo("<b>SUPPRESSION TECH</b>");
}

?>
Compare bien avec ton propre code.
En passant, indentes donc soigneusement, ce sera plus facile à lire, même pour toi (c'est pas mieux comme ça ?)

par celsius » 03 mai 2005, 15:29

le post precedent est bien le mien mais j'ai seulement oublié de me logger

par Invité » 03 mai 2005, 15:28

help !

j'ai utilisé le script de ouckileou mais il ne recharge pas la page, mais renvoit vers une page d'erreur:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/stage/ajout_suppress.php on line 25


dont voici le code :
       <form METHOD=POST id="form1" action=" <?php echo(" $_SERVER['PHP_SELF'] "); ?> ">
       <select name="choix" onChange="document.getElementById('form1').submit();">
               <option value=""> </option>
               <option value='ajout_admin'>Ajouter un administrateur </option>
               <option value='ajout_tech'>Ajouter un technicien </option>
               <option value='suppress_admin'>Supprimer un administrateur </option>
               <option value='suppress_tech'>Supprimer un technicien </option>
       </select>
       </form>
quant au code de cyrano je l'ai testé et adapté mais il ne semble pas vouloir me généré les pages désiré et il recharge la meme page avec seulement le choix de la comboBox qui change mais pas le reste de la page comme je le désirais.... :

       <form method=POST id="choixform">
       <select name="choix" onChange="document.forms['choixform'].elements['choix'].value=this.value">
                <option value=""> </option>
                <option value="ajout_admin">Ajouter un administrateur </option>
                <option value="ajout_tech">Ajouter un technicien </option>
                <option value="suppress_admin">Supprimer un administrateur </option>
                <option value="suppress_tech">Supprimer un technicien </option>
       </select>


       <input type="hidden" name="choix" id="choix" value="" />
       <input type="submit" name="envoi" id="envoi" value="Valider le choix" />
       </form>
       </td>
       </tr>
avec bien sur le IF qui choisit le reste du HTML (généré) de la page:
<?php

if ($_POST['choix']="")
{ echo("RIEN DU TOUT"); }
else if ($_POST['choix']="ajout_admin")
{ echo("<b>AJOUT ADMIN</b>"); }
     else if ($_POST['choix']="ajout_tech")
          { echo("<b>AJOUT TECH</b>"); }
          else if ($_POST['choix']="suppress_admin")
               { echo("<b>SUPPRESSION ADMIN</b>"); }
               else if ($_POST['choix']="suppress_tech")
                    { echo("<b>SUPPRESSION TECH</b>"); }

?>
dans cette seconde version, il affiche "AJOUT ADMIN" mais par defaut, lors de la selection dans la comboBox d'un autre choix, rien, la page se recharge mais avec toujours le meme "AJOUT ADMIN" et non le texte en fonction de ce que j'ai choisi

je vois vraiment pas comment faire....

par celsius » 03 mai 2005, 11:04

et aussi une petite precision les liens (admin.php, confirmation.php etc) que j'ai mis dans les value du select (comboBox) sont TOTALEMENT arbitraire, ce n'était qu'un test de ma part, ce n'est pas une autre page que je veux afficher mais ce qui sera affiché est deja dans la page mais sera généré grace au php (à l'aide d'un IF) si l'utilisateur l'as choisit dans la comboBox

par celsius » 03 mai 2005, 10:56

j'ai compris vos code mais je pense que j'ai oubliez de précisez un point:

peut-on faire ce que j'ai précisez plus haut dans le post, MAIS sans le bouton "submit" pour envoyer le type de page a afficher, je veux que sa se fasse automatiquement lorsque l'on clic que le choix de la combo box comme sur ce lien qui n'as aucun submit :

http://horspool.org.uk/nz/picview.php?n ... ariro&id=1


vous voyez ce que je veux dire ?

par celsius » 02 mai 2005, 15:48

je vais essayer de tester vos idées de suite mais je vous préviens ça va pas etre gagner vu que je suis débutant en php et que je mis suis mis il ya 2 semaines , donc je vous préviens je risque de revenir assez souvent sur cette page...

en tout cas merci de vos réponses rapide

par Cyrano » 02 mai 2005, 14:37

Décidément, c'est lundi et j'ai pas les yeux en face des trous ce aujourd'hui, je suis mûr pour une sieste je crois bien... #-o

par ouckileou » 02 mai 2005, 14:32

ben je n'ai pas testé alors je ne peux pas t'assurer que ça fonctionne mais bon a priori y'a pas de raisons que ça ne fonctionne pas

seulement ce n'est pas moi qui ai posé la question :lol:
alors je propose, celsius dispose:)

par Cyrano » 02 mai 2005, 14:25

Même pas, je pensais à autre chose à cause d'un système que j'ai monté où je devais précisément faire comme ça et où je ne peux pas simplifier comme ici...

Mais finalement, ça fonctionne ou pas ton script ? Parce qu'en fin de compte, c'est surtout ça qui t'intéresse je présume ?

par ouckileou » 02 mai 2005, 14:15

oui bien sûr le fonctionnement est le même et censé marcher :)
mais c'est juste que tu rajoutais une étape et je voyais pas pourquoi :roll: :wink: