Bonjour à tous j'ai un petit problème.

Avec paypal, j'ai un bouton radio et je veux que ce bouton permette de choisir quel item est sélectionné, bien sur cela changera aussi le prix. Cependant je ne vois pas comment procéder... Avez-vous une idée qui n'exploite pas de javascript.
Merci à tous.
Modifié par Florent V. (02 Feb 2009 - 21:05)
Bonjour,

cucureuil a écrit :
Avec paypal, j'ai un bouton radio et je veux que ce bouton permette de choisir quel item est sélectionné

Un seul bouton pour faire un choix entre deux items? Il y a un petit problème de logique ici.
S'il s'agit de faire deux boutons radio liées entre eux (quand on clique sur l'un, ça le sélectionne et désélectionne l'autre), c'est le cas classique en HTML qui ressemble à ceci:
<input type="radio" name="product" value="1" id="product1" />
<label for="product1">Premier produit</label><br />
<input type="radio" name="product" value="2" id="product2" />
<label for="product2">Deuxième produit</label>


cucureuil a écrit :
bien sur cela changera aussi le prix

C'est à dire qu'il y a un prix affiché, et que tu veux modifier cette information lorsque la sélection change, sans que l'utilisateur ait à valider un formulaire pour recalculer le total? Il faudra alors obligatoirement passer par JavaScript.
J'ai pas été clair...
Un bouton radio par item bien sûr... et pour le prix, ça n'est pas une modification visuelle en direct, les informations sont envoyés à paypal quand on valide le formulaire, je veux donc que la selectiond e tel ou tel bouton radio détermine le prix ET le nom du modèle au moment de l'envoie vers paypal.
Là ça va dépendre du type de données qu'attend Paypal. Peux-tu créer une liste de produits avec un identifiant propre du côté de Paypal, et envoyer l'identifiant comme valeur de ton bouton radio (paypal retrouvant alors le nom et le prix)? Ou bien envoyer des informations au script de Paypal via des input de type hidden? Ou autre mécanisme?

Sans savoir ce que tu peux ou dois envoyer comme données, difficile de conseiller quoi que ce soit.
C'est un peu la même chose que j'essaye de faire...

Le but est d'avoir deux boutons radios qui lorsque l'utilisateur clique sur submit, il est dirigé vers une page paypal différente.
Chaque bouton radio doit donc renvoyer le visiteur sur une page paypal différente.
Je n'y arrive pas, soit ce code renvoi toujours la première page paypal que je clique sur le bouton 1 ou 2, soit paypal affiche rien du tout.

Merci beaucoup de votre aide car je sèche...

<form method="post" action="https://www.paypal.com/cgi-bin/webscr">


<?php
if (isset($_POST['mon_champ']))
{
for ($i = 0, $c = count($_POST['mon_champ']); $i < $c; $i++)
{

if ($_POST['mon_champ'][$i] =="1")
{

?>

<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="5521382">
<?
}

if ($_POST['mon_champ'][$i] =="2")
{

?>
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="5521215">
<?
}

}
}
?>


<input type="radio" name="mon_champ[]" value="1"/>Option 1<br>
<input type="radio" name="mon_champ[]" value="2"/>Option 2<br>
<input type="radio" name="mon_champ[]" value="3"/>Option 3<br>
<input type="submit" value="OK">
</form>
Salut,

en tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace après le crochet ouvrant).

upload/1-code.gif

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que l'Aide (dont le lien est fourni lors de l'inscription) contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Désolé de n'avoir pas respecté vos règles.

Voici mon code :

<form method="post" action="https://www.paypal.com/cgi-bin/webscr">


<?php
if (isset($_POST['mon_champ'])) 
{
for ($i = 0, $c = count($_POST['mon_champ']); $i < $c; $i++) 
{

if ($_POST['mon_champ'][$i] =="1")
{

?> 

<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="5521382">
<?
}

if ($_POST['mon_champ'][$i] =="2")
{

?>
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="5521215">
<?
}

}
}
?>


<input type="radio" name="mon_champ[]" value="1"/>Option 1<br>
<input type="radio" name="mon_champ[]" value="2"/>Option 2<br>
<input type="radio" name="mon_champ[]" value="3"/>Option 3<br>
<input type="submit" value="OK">
</form>
Merci pour la mise en forme.

Par contre je ne comprends pas ton code : tu mets bien en place des INPUT hidden mais il faut pour cela que le formulaire ait déjà été soumis ! Smiley rolleyes
Le code paypal pour l'envoi sur une page unique de paiement est :

<form method="post" action="https://www.paypal.com/cgi-bin/webscr">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="5521215">
<input type="submit" value="OK">
</form>


Chaque page paypal a donc une valeur (ex :5521215)
Ce que je n'arrive pas à faire c'est mettre une condition pour ouvrir une page différente selon que l'utilisateur clique sur le bouton radio 1 ou 2.

OUI vous avez raison le formulaire étant soumis, il prend toujours la première valeur sans se préoccuper des conditions (if).

Je ne vois pas...
Avez-vous une solution ?
titi310 a écrit :
Avez-vous une solution ?
Eh bien je n'ai jamais utilisé paypal mais comme solutions je vois :

* faire 2 formulaires différents (avec INPUT hidden différents) à la place du bouton radio.

* si paypal accepte les données en GET (et pas seulement en POST) faire une redirection header("Location: ...) dont les valeurs dépendront de la valeur du bouton radio.

* si paypal n'accepte les données qu'en POST générer cela avec curl.

* utiliser JavaScript... mais prévoir qu'il peut être désactivé/indisponible.