Più azioni allo stesso pulsante? Come posso fare?

VincKing

Nuovo Utente
7
0
Sto programmando (modificando) una pagina di login (quella di gmail) è mi è sorto un interrogativo:
qui
Codice:
<form novalidate method="post" action="https://accounts.google.com/ServiceLoginAuth" id="gaia_loginform">
al campo action posso mettere più azzioni? Cioè inviare i dati del login sia a pincopallino.php che a pongo.php?

Se si mi potete dire come? Grazie in anticipo.
 

Alemix

Utente Attivo
39
0
CPU
Intel I5-650
Scheda Madre
MSI P55A-G55
HDD
2Tb
RAM
4GB
GPU
Ati HD6850 1GB
Audio
Creative X-fi Extreme Audio
Che sappia io non puoi, l'html ti prende per buono un solo action. dovresti studiare un modo per prendere i dati dal primo php e salvarli da qualche parte... Però sicuramente dipende cosa vuoi fare c'è un metodo più semplice
 

matteoc91

Utente Attivo
158
17
Al campo action puoi associare un'azione, non di più.
Per il resto dipende da cosa vuoi fare, nel senso, detto in maniera semplice, cosa devono fare le pagine a cui mandi i dati? Dal punto di vista della richiesta, quando dai submit dei dati vieni reindirizzato all'indirizzo specificato nel form (motivo per il quale non puoi avere più action...), quindi in quel momento ti trovi fisicamente sulla prima delle due pagine a cui vuoi mandare i dati... A questo punto bisogna capire cosa fa quella pagina ed agire di conseguenza... Il metodo più "crude" che mi viene in mente è costruire sulla prima pagina un messaggio http specifico per la seconda e demandare a quest'ultima il compito di, ad esempio, spedire tutto l'elaborato all'utente.
L'interazione sarebbe quindi questa: index --> page1.php --> page2.php --> client
Detto in altri termini:
-index ha come action page1.php
-page1.php prende i dati passati da index ed elabora; al termine dell'elaborazione compone un messaggio http apposito per page2.php e lo invia
-page2.php riceve il messaggio da page1.php, elabora i dati e li passa al client (o li stampa direttamente, a seconda...)
-con client mi riferisco semplicemente a ciò che viene fatto vedere all'utente...
Per come realizzare una richiesta POST (o GET che sia...) da php dai un'occhiata a questo link: PHP: stream_context_create - Manual

A me sinceramente come metodologia non piace tantissimo, nel senso che risulta molto macchinosa e poco portabile. Se posso darti un suggerimento, nel caso tu voglia effettivamente mandare richieste a pagine diverse, io ti consiglierei di affidarti ad un oggetto XMLHTTPRequest: The XMLHttpRequest Object.
Questa soluzione a mio avviso è molto più pulita e portabile, oltre al fatto che appesantisce di meno la navigazione da parte dell'utente (la pagina non si ricarica ogni volta che fai una richiesta). Di contro (anche se non mi sembra un problema tanto grave, del tipo che lo risolvi in pochi minuti) dovresti ristrutturare un po' la marcatura...

Imho la seconda soluzione è migliore (e non di poco) della prima, quindi se puoi basati sulla seconda (anche perché ti permette di gestire molto meglio ed in maniera modulare tutto il sito / applicazione web).
Lascia perdere la creazione di file testuali e qualsiasi altra cosa: è una soluzione inefficiente!
Pensa a cosa succede se arrivano tantissime richieste al server... Crei un file per ogni richiesta? Poi devi gestirli, cancellarli per non intasare la memoria, ecc... Usi un unico file? Se si, come la gestisci la concorrenza tra le richieste? Se il file lo devi scrivere, l'operazione deve essere eseguita in mutua esclusione, il che significa che passa una richiesta per volta, rallentando notevolmente il tempo di risposta da parte dell'applicativo verso la mole d'utenza (per non parlare del fatto che poi lo stesso file deve anche essere letto e questo verso gli scrittori è nuovamente in mutua esclusione per evitare l'inconsistenza dei dati)...
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!