Joomla.it Forum

Componenti per Joomla! => Gestione Form => : nofc_nofc 17 Nov 2013, 13:38:27

: Chronoform, Confirmation Page, Captcha :) [RISOLTO]
: nofc_nofc 17 Nov 2013, 13:38:27
Salve a tutti :)
Uso chronoform e ho fatto un form multipage che si conclude con un bel riepilogo creato da "Confirmation Page". Accettato il riepilogo, vengono inseriti i valori nel database e compare la scritta inserita in "Show Thanks Message". Tuttavia mi sono reso conto che una volta che i dati sono stati inseriti e che compare questa scritta, se io premo F5 (refresh) i dati vengono inseriti nuovamente in un'altra riga del database.
Così ho pensato che inserire un capcha DOPO il riepilogo può ovviare a questo inconveniente. Come si fa?
Ricordo che la "Confirmation Page" è nella sezione "Event" e il captcha dovrà essere inserito anch'esso in questa sezione.
Grazie anticipatamente  ;)
: Re:Chronoform, Confirmation Page, Captcha :)
: mmleoni 18 Nov 2013, 09:59:24
in realtà questo mi sa proprio di un 'bug' di chronoform che ho notato altre volte, ma a dire in vero non ho mai cercato una soluzione.   :(

il comportamento corretto sarebbe, una volta ricevuto il post e salvati i dati nel db, restituire un header di redirezione con status code 303.

prova così, ma non garantisco: dopo il salvataggio dei dati nel db, metti del codice custom che faccia la redirezione ad un articolo/pagina (com_content) che contenga il ringraziamento. a questo punto se anche uno ricarica non succede niente.

fammi sapere se funziona  ;)

ciao,
marco
 

: Re:Chronoform, Confirmation Page, Captcha :)
: nofc_nofc 21 Nov 2013, 15:25:29
Perfetto :)
Ho fatto come mi hai indicato e funziona!
Ora stavo pensando -per ovviare al capcha- di inserire un codice PHP che mi controlla l'indirizzo IP di chi ha fatto l'inserimento, e se è già presente nel database, negare una seconda scrittura ;)
: Re:Chronoform, Confirmation Page, Captcha :)
: mmleoni 21 Nov 2013, 15:47:18
per ovviare al capcha
in che senso? il captcha non serviva solo ad evitare il reload della pagina dei ringraziamenti? se i ringraziamenti sono su com_content il captcha diviene inutile. o stai parlando di qualcosa d'altro?


mi controlla l'indirizzo IP di chi ha fatto l'inserimento
se uno ha un suo ip statico pubblico ok, ma se viene da un ip condiviso o da una wan tipo fastweb, dietro uno stesso ip può starci il mondo. non preferiresti un bel cookie?  :D

ciao,
marco



: Re:Chronoform, Confirmation Page, Captcha :) [Risolto]
: nofc_nofc 21 Nov 2013, 16:02:56
Ok grazie mille per il consiglio ;)
: Re:Chronoform, Confirmation Page, Captcha :)
: mmleoni 21 Nov 2013, 16:10:27
dico: cancella l'ultimo post (o di che prosegue da un'altra parte e copialo), metti il risolto e incollalo in un altro thread, così la cosa può essere utile (sotto il titolo giusto, giusto un'ipotesi 'impedire inserimenti multipli per il medesimo utente'), anche ad altri utenti.

opps, forse sembra un po' imperativo, non è questa l'intenzione.

ciao,
marco

: Re:Chronoform, Confirmation Page, Captcha :) [RISOLTO]
: oracledba 27 Dec 2013, 18:51:05
Ciao
ho letto il vostro thread.
Il mio problema è simile ovvero ho seguito alla lettera la guida di vales ed ho creato un form di nome provaemail.
Quando lo mando in esecuzione da Frontend view (in questo caso non sono loggato sul fontend) inserisce 1 record correttamente.
Se lo mando in esecuzione come link in un articolo, quindi in questo caso sono loggato, mi inserisce due record.

Come faccio a fare la prova che consigliate?
prova così, ma non garantisco: dopo il salvataggio dei dati nel db, metti del codice custom che faccia la redirezione ad un articolo/pagina (com_content) che contenga il ringraziamento.

Non sono un grande esperto quindi vi chiedo. Come deve essere scritto questo codice custom in php?
Grazie
: Re:Chronoform, Confirmation Page, Captcha :) [RISOLTO]
: mmleoni 28 Dec 2013, 08:13:51
preferirei che fosse nofc_nofc a dire come ha fatto...

io farei, ma non lo ho testato:

:
ob_clean();
header('Location: /path/assoluta/pagina');
exit;

ciao