Affichage informatif en fonction de la sélection

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 : Affichage informatif en fonction de la sélection

par cdol » 20 mai 2005, 00:51

Je comprends .... Génial, j'irai dormir moins bête ce soir, d'ailleurs, c'est l'heure :lol:

Merci pour tout

par Cyrano » 20 mai 2005, 00:31

Pour deux choix, tu aurais aussi bien pu faire la même chose avec des if:
<?php
if($_SESSION['paiement'] == "cheque")
{
    // affichage pour paiement par chèque
?>
merci d'effectuer les deux d&eacute;marche suivantes :<br>
  - Imprimer le bon de commande :
  <a href="javascript:OpenWin2('<?=$wwwroot?>/factures/bdc.php?id=<?=$commandeid?>',550,450,'bdc');" class="normal"><b>cliquez ici</b></a>. <br>
  - Envoyez votre règlement d'un montant de <? $caddie_total=$_SESSION['caddie_total']; echo($caddie_total); ?> &euro; à :</font></p>
<p><font class=normal>
<?php
print_company();
?>
  </font></p>
<?php
}
elseif($_SESSION['paiement'] == "paypal")
{
    // affichage pour paiement par paypal
?>
        <p align="left">Si vous avez choisi le paiement par <strong>PAYPAL</strong>, merci
  de vous rendre sur le site <a href="http://www.paypal.com/fr" target="_blank">paypal</a>
  et d'effectuer le paiement de <b>
  <?=$caddie_total?>
  </b> &euro; sur notre compte paypal <em>[email protected]</em> en indiquant
  le num&eacute;ro de commande (Merci de rajouter 4% au montant de votre commande
  pour les frais demand&eacute;s par ce site)</p>
<?php
}
?>
Avec un switch, tu pourrais ajouter un cas "par défaut, donc si la valeur de ta variable était n'importe quoi d'autre qu'une des possibilités mentionnées dans les "case": avec des if, tu as d'abord if(), puis quelques elseif() et tu rajoutes la solution par défaut avec else() si rien ne correspond

par cdol » 20 mai 2005, 00:05

Rien ne remplace le savoir....

Merci beaucoup à toi pour ton aide... Ca marche impeccablement bien....

Encore une petite question pour que j'apprenne quand même quelque chose.

Pourquoi les if (méthode proposée par slipnd) ne fonctionnait pas ?

Merci :)

par Cyrano » 19 mai 2005, 23:33

Simplifie-toi la vie: mets le contenu de chaque case dans un fichier externe et dans le switch/case, mets des includes, tu te mélangeras moins les crayons.

Petite astuce de travail : quand tu ouvres un <?php, mets tout de suite après le ?> et ensuite seulement mets le contenu PHP dedans, pareil pour les " ", les ' ', les { } etc... et quand tu dois insérer du html dans du php, met le ?> immédiatement suivi du <?php puis après seulement ajoutes le contenu html.

Ton bout de script devrait ressembler à ceci :
<?php
switch($_SESSION['paiement'])
{
    case "cheque" :
    // affichage pour paiement par chèque
?>
merci d'effectuer les deux d&eacute;marche suivantes :<br>
  - Imprimer le bon de commande :
  <a href="javascript:OpenWin2('<?=$wwwroot?>/factures/bdc.php?id=<?=$commandeid?>',550,450,'bdc');" class="normal"><b>cliquez ici</b></a>. <br>
  - Envoyez votre règlement d'un montant de <? $caddie_total=$_SESSION['caddie_total']; echo($caddie_total); ?> &euro; à :</font></p>
<p><font class=normal>
<?php
print_company();
?>
  </font></p>
<?php
    break;
    case "paypal" :
    // affichage pour paiement par paypal
?>
        <p align="left">Si vous avez choisi le paiement par <strong>PAYPAL</strong>, merci
  de vous rendre sur le site <a href="http://www.paypal.com/fr" target="_blank">paypal</a>
  et d'effectuer le paiement de <b>
  <?=$caddie_total?>
  </b> &euro; sur notre compte paypal <em>[email protected]</em> en indiquant
  le num&eacute;ro de commande (Merci de rajouter 4% au montant de votre commande
  pour les frais demand&eacute;s par ce site)</p>
<?php
    break;
}
?>

par cdol » 19 mai 2005, 23:27

Test effectué sans succès. Il doit y avoir un problème de <? ou de ?> mais je ne comprends pas.

On dirait que le premier ?> ferme le <?php ouvert
 <?php 
switch($_SESSION['paiement']) 
{ 
    case "cheque" : 
        // affichage pour paiement par chèque 
		merci d'effectuer 
  les deux d&eacute;marche suivantes :<br> 
  - Imprimer le bon de commande : 
<a href="javascript:OpenWin2('<?=$wwwroot?>/factures/bdc.php?id=<?=$commandeid?>',550,450,'bdc');" class="normal"> 
  <b>cliquez ici</b></a>. <br> 
  - Envoyez votre règlement d'un montant de 
  <? $caddie_total=$_SESSION['caddie_total']; 
echo($caddie_total); ?> 
  &euro; à :</font></p> 
<p><font class=normal><br> 
<?php 
print_company(); 
?>
  </font></p> 

    break; 
    case "paypal" : 
        // affichage pour paiement par paypal 
		<p align="left">Si vous avez choisi le paiement par <strong>PAYPAL</strong>, merci 
  de vous rendre sur le site <a href="http://www.paypal.com/fr" target="_blank">paypal</a> 
  et d'effectuer le paiement de <b> 
  <?=$caddie_total?>
  </b> &euro; sur notre compte paypal <em>[email protected]</em> en indiquant 
  le num&eacute;ro de commande (Merci de rajouter 4% au montant de votre commande 
  pour les frais demand&eacute;s par ce site)</p>
    break; 
}
Merci encore pour votre aide

par cdol » 19 mai 2005, 13:50

Merci pour ce tuyau. Je teste tout ça fin de journée quand j'aurai survécu à mes 3546054343 mails de retard :) :) :)

par Cyrano » 19 mai 2005, 13:00

Salut,

merci pour cette réponse mais c'est pas très clair...Je suis un grand bouché :)

Si j'emploie les sessions comme tu l'indiques, ça va juste m'afficher le type de paiement sélectionné. Mais ça ne va pas me sélectionner et m'afficher le texte prédéfini en fonction du type de paiement sélectionné par le client ???

Désolé, je vais essayer de me déboucher un peu :)
Ok, voici un tire-bouchon :D

À partir du moment ou tu as le moyen de paiement dans cette variable, dans ta page d'affichage d'info, il te faut tester la valeur de cette variable pour afficher le message approprié. Tu peux faire ça par exemple avec un switch:
<?php
switch($_SESSION['paiement'])
{
    case "cheque" :
        // affichage pour paiement par chèque
    break;
    case "paypal" :
        // affichage pour paiement par paypal
    break;
}
etc...
Est-ce que c'est plus clair comme ça ?

par cdol » 19 mai 2005, 12:55

Help please...... :)

par cdol » 13 mai 2005, 17:05

Test effectué et cela ne marche pas du tout.

Quand je mets ce que tu m'indiques juste pour un paiement, forcément, tout mon texte pour les différents paiements s'indiquent (logique vu qu'il n'y a qu'un IF)

par contre, quand j'applique la même structure de IF pour l'autre texte, ça me fait un erreur à la dernière ligne de ma page.

Que faire

Voici le code avec deux textes. (J'ai enlevé le IF vu que ça va pas)

Code : Tout sélectionner

<font class=titre>Etape 3. Confirmation de votre demande </font><br> <p></p> Vous avez choisi le paiement par <?php $paiement=$_SESSION['paiement']; echo($paiement); ?> <p><font class=normal> Merci de votre confiance, votre commande a été enregistrée avec succès. <br> <br> Si vous avez chosi le paiement par <strong>chèque</strong>, merci d'effectuer les deux d&eacute;marche suivantes :<br> - Imprimer le bon de commande : <a href="javascript:OpenWin2('<?=$wwwroot?>/factures/bdc.php?id=<?=$commandeid?>',550,450,'bdc');" class="normal"> <b>cliquez ici</b></a>. <br> - Envoyez votre règlement d'un montant de <? $caddie_total=$_SESSION['caddie_total']; echo($caddie_total); ?> &euro; à :</font></p> <p><font class=normal><br> <?php print_company(); ?> </font></p> Si vous avez choisi le paiement par <strong>virement</strong>, merci d'effectuer le virement du montant de <b><?=$caddie_total?></b> &euro; en mentionnant en communication le num&eacute;ro de celle-ci.</font></p> RIB

par cdol » 13 mai 2005, 11:47

Merci, je teste ça ce soir :)

par slipndi » 13 mai 2005, 11:42

Vous avez choisi le paiement par
<?php $paiement=$_SESSION['paiement'];
       echo($paiement); ?>
<p><font class=normal> Merci de votre confiance, votre commande a été enregistrée
  avec succès. <br>
  <br><? //ici l'ouverture
if ($paiement=="chèque")
{
   echo ("Si vous avez chosi le paiement par <strong>chèque</strong>, merci d'effectuer
  les deux d&eacute;marche suivantes :<br>
  - Imprimer le bon de commande :");
?>
<a href="javascript:OpenWin2('<?=$wwwroot?>/factures/bdc.php?id=<?=$commandeid?>',550,450,'bdc');" class="normal">
  <b>cliquez ici</b></a>. <br>
  - Envoyez votre règlement d'un montant de
  <? $caddie_total=$_SESSION['caddie_total'];
echo($caddie_total); ?>
  &euro; à :</font></p>
<p><font class=normal><br>
<?php
print_company();
}//endif
?>
  </font></p>
  }
je te promet pas un fonctionnement du premier coup j'ai fais ca assez en speed ;)

par cdol » 13 mai 2005, 11:28

Bonjour,

Merci à slipndi pour tes conseils. La 1ère partie fonctionne mais par le IF

Voici mon code. J'imagine que je dois mettre un <? et ?> quelque part mais je trouve pas
Vous avez choisi le paiement par 
<?php $paiement=$_SESSION['paiement']; 
       echo($paiement); ?>
<p><font class=normal> Merci de votre confiance, votre commande a été enregistrée 
  avec succès. <br>
  <br>
 if ($paiement=="chèque") 
 { 
   Si vous avez chosi le paiement par <strong>chèque</strong>, merci d'effectuer 
  les deux d&eacute;marche suivantes :<br>
  - Imprimer le bon de commande : <a href="javascript:OpenWin2('<?=$wwwroot?>/factures/bdc.php?id=<?=$commandeid?>',550,450,'bdc');" class="normal"> 
  <b>cliquez ici</b></a>. <br>
  - Envoyez votre règlement d'un montant de 
  <? $caddie_total=$_SESSION['caddie_total']; 
echo($caddie_total); ?>
  &euro; à :</font></p>
<p><font class=normal><br>
 <?php
print_company();
?>
  </font></p>
  }
D'avance merci pour les conseils

par slipndi » 12 mai 2005, 17:13

Bon comme dit c'est pas la solution optimal des puristes mais bon c'est une solutions ;) et puis en prog faut pas hésité, essaye et si ca merde ben c'est que c'était pas bon ;)

par cdol » 12 mai 2005, 17:09

Merci du tuyau, bon la prochaine fois, j'essaierai directement ma 1ère idée :) Je voulais faire comme ça mais je me suis dit que c'était trop simple.... Bon je tente la chose tout à l'heure et je te tiens informé.

Merci :)

par slipndi » 12 mai 2005, 17:05

Ben si tu arrive a transferer ceci, après il te suffit de dire par exemple :
if ($tavar==paypal)
{
ton texte sur le paypal
}
Sinon tu fais un copier de chaque texte (bon c'est de l'arache un peu mais ca marchera mais les puriste gueuleron;)) [/php]