2 form una sola azione

  • Creatore Discussione Creatore Discussione termiti
  • Data di inizio Data di inizio

termiti

Utente Attivo
24 Ago 2012
37
0
0
ciao,
avrei bisogno di qualcuno che mi aiutasse:
ho 2 form, necessito che se io clicco su uno dei 2 bottoni (qualsiasi) entrambe le form si attivino........

mi date una mano?????

grz

questo è il codice.......


PHP:
<form action="https://www.paypal.com/it/cgi-bin/webscr" method="post"> 
<input type="hidden" name="cmd" value="_xclick"> 
<input type="hidden" name="business" value="mioconto@paypal.it"> 
<input type="hidden" name="item_name" value="Totale Carrello"> 
<input type="hidden" name="currency_code" value="EUR"> 
<input type="hidden" name="amount" value="questo lo so fare"> 
<input type="image" src="http://www.paypal.com/it_IT/i/btn/x-click-but01.gif" name="submit" alt="Effettua i tuoi pagamenti con PayPal. È un sistema rapido, gratuito e sicuro."> 
</form> 


<form action="<? print $PHP_SELF; ?>" method=post> 
             <input type=submit name=action value="torna indietro" title="Fai click qui per tornare al passo precedente e modificare i dati per la spedizione"> 
              <input type=submit name=action value=inoltra title="Fai click qui per inoltrare definitivamente l'ordine"> 
              </form>


possibile soluzione?:

<form id='paypal' ....


<input type='submit' onclick='document.forms["paypal"].submit();' .......





eppure anche in quel modo non funziona (almeno a me), qualcuno può postare codice simile e che provando mi funzioni?
 
Non ho capito bene il tuo problema: te vuoi che, clickando su un pulsante presente in uno dei due form, i dati dei due form vengano inviati ai rispettivi script PHP?
Se gli script che ricevono i dati sono diversi, non credo sia fattibile: quando invii il form, viene richiesta la pagina PHP specificata in "action", inviando come dati quelli presenti nel form, quindi come puoi da una stessa pagina inviare due form indirizzati a due script differenti?
Se invece i due form si riferiscono allo stesso script, perchè non unisci i due form sotto uno unico?
Poi forse (anzi, probabilmente) ho interpretato male io la tua richiesta, quindi se ti spieghi meglio magari riesco a darti una risposta più precisa :)
 
caro darkjoker,

e se l'utente clicca sul bottone form prestabilito: ad esempio sul secondo.........

è possibile che si attivino entrambe le form??????

ciao
 
Per i motivi che ti ho detto, dubito si possa fare...
Magari qualcuno mi smentirà, ma sono quasi sicuro che quanto chiedi sia abbastanza infattibile.
Quello che mi viene in mente, invece, è qualcosa del genere:

Crei un form solo che contiene i valori di entrambi i form; quando premi il pulsante submit (puoi mettere quanti pulsanti submit vuoi ovviamente), viene caricato uno script php che da una parte fa quello che deve fare lo script (che sarebbe la pagina stessa), dall'altro, utilizzando le curl (o, se vuoi, puoi anche usare fsockopen e lavorare a livello di HTTP requests, ma con le curl ti semplifichi un po' la vita :) ), effettui l'invio dei dati del form...
Eccoti un semplice esempio di come, usando le curl, posso inviare una richiesta POST alla pagina http://localhost/x.php, passando come parametri a=b (ovviamente, al posto di a=b metti tutti i dati presenti nelle input hidden):

PHP:
<?php
$a = curl_init();
curl_setopt($a, CURLOPT_URL, 'http://localhost/x.php');
curl_setopt($a, CURLOPT_POST, true);
curl_setopt($a, CURLOPT_POSTFIELDS, 'a=b');
curl_exec ($a);
curl_close ($a); 
?>

Una richiesta del genere, corrisponde all'HTTP request:
Codice:
POST /x.php HTTP/1.1
Host: localhost
Connection: Close
Content-Type: application/x-www-form-urlencoded
Content-Length: 3

a=b
(ovviamente, la request che ti ho scritto serve solo per farti capire cosa fa lo script che ti ho scritto.. Se non comprendi l'ultima parte, ignora completamente, non è niente di fondamentale :) )

In questo modo, lo script php effettua da una parte l'invio dei dati, dall'altra le operazioni che vuoi fargli fare.

Spero di essere stato chiaro, e che quanto ho scritto sia effettivametne la risposta alla tua domanda :)
 
si mi sa che è la risposta alla mia domanda.......

ma non so se riuscirò a scrivere lo script correttamente.....

che faccio provo????? (come diceva fantozzi........)

provii provii....
 
io non voglio la pappa pronta.....

però mi fai capire 1 o 2 righe di codice come sostituisco il codice delle form con le curl?

più o meno?
 
L'elenco delle variabili che vuoi passare via post (cmd=_xclick&business=mioconto@paypal.it&eccecc) vanno messe al posto di quell' "a=b" che ho messo io d'esempio.. Ciò vuol dire che quelle variabili (che tanto mi sembra di vedere siano sempre fisse) puoi anche non metterle nel form, e verranno mandate sempre uguali dallo script php (se poi vuoi mettere qualche parametro variabile, basta che li prendi normalmente dal form).
Quindi togli tutta la parte del primo form, e il resto (ossia il pulsante) lo metti nel secondo form. Il resto lo lasci cosi, e poi nel sorgente php metti sia il pezzo di codice che ti ho scritto (sostituendo localhost/x.php con la pagina a cui vuoi mandare i dati e, come già detto, a=b con l'elenco di dati che vuoi inviare) che la parte di codice che vuoi eseguire te con i dati del secondo form...
È molto più facile da fare che da descrivere, quindi prova e, se non riesci, poi chiedi.
 

Discussioni simili