Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/09/2008, 21h50   #1
Invité régulier
 
Inscription : avril 2008
Messages : 20
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 20
Points : 8
Points : 8
Par défaut formulaire pour valider un panier

Bonsoir à tous!

Mon problème est le suivant :

je suis en train de créer un site de e-commerce avec un panier personnalisé. (tests sur www.lasanteaunaturel.com/shgeoffrey/ rubrique Panier) En validant le formulaire, celui-ci renvoie sur PayPal.

voici le code du formulaire de validation paypal :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
</form>
<form target="paypal" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="upload" value="1">
<input type="hidden" name="business" value="geoffr_1221933867_biz@numericable.fr">
 
 
<?php
if (creationPanier())
{
$nbArticles=count($_SESSION['panier']['libelleProduit']);
  if ($nbArticles <= 0)
   echo "<tr><td>Votre panier est vide </ td></tr>";
  else
  {
   for ($i=0 ;$i < $nbArticles ; $i++)
   {
echo "<input type=\"hidden\" name=\"item_name_1\" value=\"".htmlspecialchars($_SESSION['panier']['libelleProduit'][$i])."\">";
echo "<input type=\"hidden\" name=\"amount_1\" value=\"".htmlspecialchars($_SESSION['panier']['prixProduit'][$i])."\">";
echo "<input type=\"hidden\" name=\"quantity_1\" value=\"".htmlspecialchars($_SESSION['panier']['qteProduit'][$i])."\">";
   }
echo "<input type=\"submit\" value=\"Valider la commande\">";
  }
}
?>
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="bn" value="PP-ShopCartBF">
<input type="hidden" name="shipping" value="5.00">
 
</form>
Je récupère donc les données du panier pour les insérer dans le formulaire de paypal. Le problème est que chaque article dans le formulaire doit avoir un numéro différent. Exemple : name="item_name_1" et name="amount_1" pour le premier article, name="item_name_2" et name="amount_2" pour le deuxième, etc...

Ce qui devrait donner ceci :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</form>
<form target="paypal" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="upload" value="1">
<input type="hidden" name="business" value="geoffr_1221933867_biz@numericable.fr">
 
<input type="hidden" name="item_name_1" value="produit1">
<input type="hidden" name="amount_1" value="30.00">
<input type="hidden" name="quantity_1" value="1">
 
<input type="hidden" name="item_name_2" value="produit2">
<input type="hidden" name="amount_2" value="10.00">
<input type="hidden" name="quantity_2" value="3">
 
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="bn" value="PP-ShopCartBF">
<input type="hidden" name="shipping" value="5.00">
 
</form>
Mais je ne connais pas la fonction qui permettrait de rajouter +1 à chaque valeur suivante!

Connaissez-vous un moyen de le faire?

Merci d'avance
shgeoffrey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2008, 22h18   #2
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Yop!

Quelque chose du genre:
Code :
1
2
3
4
5
6
7
8
9
10
 
   for ($i=0 ;$i < $nbArticles ; $i++)
   {
   $index = $i + 1;
echo "<input type=\"hidden\" name=\"item_name_" . $index . "\" value=\"".htmlspecialchars($_SESSION['panier']['libelleProduit'][$i])."\">";
echo "<input type=\"hidden\" name=\"amount_" . $index . "\" value=\"".htmlspecialchars($_SESSION['panier']['prixProduit'][$i])."\">";
echo "<input type=\"hidden\" name=\"quantity_" . $index . "\" value=\"".htmlspecialchars($_SESSION['panier']['qteProduit'][$i])."\">";
   }
echo "<input type=\"submit\" value=\"Valider la commande\">";
  }
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2008, 22h19   #3
Expert Confirmé
 
Avatar de Eusebe
 
Inscription : mars 2006
Messages : 1 989
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : mars 2006
Messages : 1 989
Points : 3 606
Points : 3 606
Bonjour,

Quelque chose comme ça ?
Code :
1
2
$index = $i +1;
echo '<input type="hidden" name="item_name_'.$index.'" value="'.htmlspecialchars($_SESSION['panier']['libelleProduit'][$i]).'">';
(au passage, j'ai remplacé les guillemets par des simples quotes : c'est plus rapide et surtout ça évite d'échapper les guillemets )

Edit : grilled
Eusebe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2008, 22h22   #4
Invité régulier
 
Inscription : avril 2008
Messages : 20
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 20
Points : 8
Points : 8
Nickel!

Merci beaucoup!
shgeoffrey est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h17.


 
 
 
 
Partenaires

Hébergement Web