Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1207 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Plusieurs action dans balise Form

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Plusieurs action dans balise Form

n°1318205
ticed78
Posté le 03-03-2006 à 22:11:43  profilanswer
 

Bonsoir,  
 
en fait, je désire récupérer les données de mon formulaire dans une base de donnée avant (ou en même temps) que celles-ci soient envoyées vers un site qui gère ensuite une vente en ligne (eurowebpaiement.com). Je voudrai, en quelque sorte, les attraper au vol.
 
Pas de souci pour créer la table, ect... mais coment faire pour remplir deux bases de données complétement distinctes ?
 
Est il possible de mettre plusieurs actions dans une balise FORM ?
 
Merci d'avance.

mood
Publicité
Posté le 03-03-2006 à 22:11:43  profilanswer
 

n°1318352
ticed78
Posté le 04-03-2006 à 11:16:06  profilanswer
 

up...

n°1318492
ticed78
Posté le 04-03-2006 à 17:45:39  profilanswer
 

personne pour m'aider ?... :(

n°1319415
omega2
Posté le 06-03-2006 à 14:34:40  profilanswer
 

On ne peut mettre qu'une seule "action" à un formulaire. C'est l'html qu'est fait comme ça. D'ailleur, s'il y avait plusieurs "action" à un formulaire, comment le navigateur ferait pour savoir lequel est le bon et s'il les exécute tous, comment il ferait pour savoir quelle page reçu à la suite des demandes des actions il devrait afficher et lesquels il devrait ignorer.
 
Si tu veux faire un tel truc, dans tous les cas il te faudra du javascript du moins si tu ne veux pas que le visiteur doivent valider deux fois le formulaire à la main.
 
En bref : méthode ajax (dans 10% des cas, tu ne seras jamais prévenu mais au moins, c'est transparent pour tout le monde) : tu fais exécuter une fonction javascript à la validation du formulaire et cette fonction t'envéra les données. Ensuite, le navigateur envéra le formulaire comme normal
méthode 2 (qui marche dans tous les cas, mais nécessitera une double validation du client si le javascript est désactivé) : tu fais pointer le formulaire sur ton site, ensuite, tu réaffiches une nouvelle page avec un formulaire préremplis et dans cette page, tu met aussi une fonction qui validera le formulaire dés la fin de l'affichage d'une page. Probléme : si le javascript est désactivé, le client devra valider le formulaire une seconde fois et rien ne dit que le navigateur envéra les données au second site.
 
PS : Si c'est pour envoyer des infos de paiement, personellement, je ne ferais pas confiance en un site qui se permettrait d'utiliser ce genre de méthode et en fait, je ne fais confiance qu'a trés peu de sites quand le paiement ne se fait pas directement sur le site web d'une banque.
 
PS2 : ton soit disant second site (eurowebpaiement.com) n'existe pas. D'ailleur, il n'existe pas non plus en .net ni en .org. Je ne sais pas si c'est un site que vous allez créer ou qu'une personne de votre conaissance va créer mais si c'est le cas, vous avez intérer de réserver rapidement ce nom de domaine avant qu'un autre le fasse.

n°1319430
gatsu35
Blablaté par Harko
Posté le 06-03-2006 à 14:45:18  profilanswer
 
n°1319435
omega2
Posté le 06-03-2006 à 14:50:47  profilanswer
 

Je conaissais pas ce systéme là de vente en ligne.
Et c'est sur qu'avec un mauvais nom de domaine, je risquais pas de trouver.

n°1319436
newneo2001
Posté le 06-03-2006 à 14:52:13  profilanswer
 

j'ai déjà intégré eurowebpayment mais ca ne sert à rien de vouloir récup les infos. Il fo que tu personnalises le formulaire qu'il te propsoe sur le site. Tu le complètes avec ton caddie etc... et ensuite tu balances sur leur site. 'est eux qui vont traiter le paiement pas toi.


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
n°1320093
ticed78
Posté le 07-03-2006 à 12:29:10  profilanswer
 

Effectivement je me suis trompé dans l'url, désolé.
 
La démarche que j'effectue est purement universitaire. La vente en ligne restera fictive. C'est pourquoi, pour remplir pleinement ma tâche, je désire récupérer les informations (permettant ainsi d'alimenter une base de données).
 
Je suis d'accord avec toi newneo2001, ca ne sert à rien sinon à remplir pleinement mon cahier des charges.
 
Donc vous ne voyez pas d'autres solutions que de valider deux fois le formulaire ? (J'élimine la solution du javascript mais merci quand même !)
 
Je ne peux pas rediriger la partie html (form action) vers ma base de données et ensuite, rediriger vers le site de paiement dans la partie php ??
 
Merci pour vos réponses.

n°1320174
fluminis
Posté le 07-03-2006 à 14:22:00  profilanswer
 

tu dois pouvoir le faire :
1- dans ton formulaire, ton action pointe vers une page à toi
2- ta page logue dans ta bdd tout ce dont tu as besoin
3- tu rediriges vers la page de ton choix.
Si c'est du "get" que tu fais, une seule ligne suffira :
header("location: http://www.eurowebpayment.com/mapa [...] 034;.$_GET['var1']."&var2=".$_GET['var2']);
par contre si c'est du post, c'est possible egalement avec les header mais je ne sais plus ce qu'il faut ecrire.


Message édité par fluminis le 07-03-2006 à 14:22:43

---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1320244
fluminis
Posté le 07-03-2006 à 15:15:32  profilanswer
 

ta page html :

Code :
  1. <form action="mapage.php" action="get">
  2. <input type="text" name="var1" />
  3. <input type="text" name="var2" />
  4. </form>


 
mapage.php

Code :
  1. <?php
  2. if(isset($_GET['var1']) && isset($_GET['var2'])){
  3.   $var1 = addslashes($_GET['var1']);
  4.   $var2 = addslashes($_GET['var2']);
  5.   //TODO : ici faire la connexion à la base de donnée mysql
  6.   $sql = "INSERT INTO matable (col1,col2) VALUES ('".$var1."','".$var2."')";
  7.   mysql_query($sql);
  8.   //ici faire la redirection
  9.   header("location: http://www.eurowebpayment.com/mapa [...] 034;.$_GET['var1']."&var2=".$_GET['var2']);
  10. }
  11. ?>


si tu as d'autres questions, pose les ici comme ça moi ou quelqu'un d'autre pourra y repondre.
++


Message édité par fluminis le 07-03-2006 à 15:16:51

---------------
http://poemes.iceteapeche.com - http://www.simuland.net
mood
Publicité
Posté le 07-03-2006 à 15:15:32  profilanswer
 

n°1321248
ticed78
Posté le 08-03-2006 à 18:42:04  profilanswer
 

Bon alors mon php c :  
 
<?
 if ($_POST['isSubmited'] == true)
 {
  $quantite = $_POST['article[1][quantite]'];
  $prenomnom = $_POST['name_debiteur'];
  $adresse = $_POST['adress_debiteur'];
  $codepostal = $_POST['codepostal'];
  $ville = $_POST['ville'];
  $email = $_POST['email_debiteur'];
 
  $dbconn = pg_connect("host=toto user=toto dbname=toto" );
  $sql = "INSERT INTO tb_commande VALUES ('".$nom."',
  '".$quantite."', '".$prenomnom."', '".$adresse."', '".$codepostal."', '".$ville."', '".$email."')";
 
  pg_query($dbconn, $sql);
 }
?>

 
 
 
et mon html c tout un formulaire avec les champs repris dans le php commançant par :  
 
<form method='POST' name='EWP_140063' action='http://www.eurowebpayment.com/fr/cb/' target='_blank'>
 
ensuite il y a une bannière donc je zappe et après il y a les champs à remplir par l'utilisateur :  
 
<TABLE border='0' width='100%' cellpadding='2' cellspacing='0'>
  <TR>
 <TD align='right'><font face='Verdana' size='1' color='#FFFFFF'><b>Quantité* : </b></font></TD>
 <TD align='top'><input  class='formular' type='text' name='article[1][quantite]' value ='' size='2'></TD>
  </TR>
  <TR>...

 
....... suivi de tous les autres champs .......
 
et enfin à la fin de la partie html toujours :  
 
...
</table>
<input type='hidden' name='rgrg' value='nianaina'>
<input type='hidden' name='rgrgr' value='nianiania'>
<input type='hidden' name='rgrgr' value='niania'>
<input type='hidden' name='rgrgr' value='nianai'>
<input type='hidden' name='rgrgrgr' value='niania'>
<!-- début des options -->
<!-- fin des options -->
</form>
    </td>
  </tr>
</TABLE>

 
Toute cette partie html est donnée par eurowebpayment, j'y ai juste rajouté quelques champs pour ma base.
Pour l'instant, la partie php et html sont dans un même fichier php mais je vais les séparer.
 
Avec tout ça, je vais peut être mieux comprendre ce que tu veux faire avec "var1" ... parce que je ne comprends pas.  
 
Désolé pour mon ignorance mais je vois pas.
 
Merci beaucoup.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Plusieurs action dans balise Form

 

Sujets relatifs
Changer l'action par defaut d'un signalPlugin Eclipse : lier Action et Wizard
Lancer une action sur un clic dans comboDérivée d'une Form et sa modification sous l'IDE
Comment avoir plusieurs langues sur mon site?"empiler" plusieurs fichiers en 1
J2EE/Struts - récupérer une liste typée dans une selectBox d'un formLancer une action depuis une autre frame.
[Oracle XML] Requete simple, 1 ligne de résultat = plusieurs résultats[ASP.NET] Garder la valeur d'un élément html lors d'une action
Plus de sujets relatifs à : Plusieurs action dans balise Form


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR