Joomla.it Forum
Componenti per Joomla! => Gestione Form => : oracledba 15 Oct 2010, 20:40:00
-
Ciao Vales
non ti voglio rovinare la serata :)
Ho seguito alla lettera l'articolo
http://www.joomla.it/articoli-della-community/3836-from-multi-page-con-chronoforms-1.html
funziona tutto tranne una cosa
se premo il tasto indietro nel form ottengo
Object not found!
The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.
If you think this is a server error, please contact the webmaster.
e questo è l'url sulla pagina
http://localhost/component/com_chronocontact/?chronoformname=madre&cfformstep=1
credo che il problema sia proprio qui in quanto manca in questa riga di sicuro il dominio.
Ho sbagliato qualcosa o dovevo adattare l'esempio dell'articolo alla mia installazione?
Grazie
-
Questo è il debug della pagina
Posted: Array ( [cod_articolo] => [button_2] => Conferma [5ddaf657f34bfe008182ed852da7095c] => 1 [1cf1] => c64ce042efd31d45d8bc4d57c942ec90 [chronoformname] => madre [articolo] => articolo 3 [prezzo] => 40 [quantita] => 10 [totale] => 400 [button_5] => Invia [cfformstep] => 1 )
Files: Array ( )
Current step: 2
-
Dal debug sembra che manchi cod_articolo.
Certo devi adattare il codice al tuo form. Ma nel link che hai mostrato sembra che vada bene il nome del form che hai usato è madre.
Ma nel href del link che hai usato cosa hai messo ?
-
Ho preso la tua lezione e copiato pari pari gli esempi ed i form senza cambiare nulla.
questo è l'href di figlio2
<a href="/component/com_chronocontact/?chronoformname=madre&cfformstep=1" style="text-decoration: none;"><input value="Indietro" type="button">[/url]
</div>
-
Quasi risolto
Ho inserito questo codice nell'url
<a href="index.php?option=com_chronocontact&chronoformname=madre&cfformstep=2"
style="text-decoration: none;"><input value="Indietro" type="button">[/url]
Adesso il form torna indietro di una pagina ma i campi che prima erano pieni (sia quelli letti dal db che quelli risultatnti da un calcolo) sono vuoti.
Questo il debug
$params: JParameter Object ( [_raw] => stepscount=3 formsnames=figlio1,figlio2,figlio3 finalbuttonname=button_6 stepsnavigation=1 debugging=1 onsubmit=before_email [_xml] => [_elements] => Array ( ) [_elementPath] => Array ( - => C:\Web\xampp\htdocs\www.aaa.it\libraries\joomla\html\parameter\element ) [_defaultNameSpace] => _default [_registry] => Array ( [_default] => Array ( [data] => stdClass Object ( [stepscount] => 3 [formsnames] => figlio1,figlio2,figlio3 [finalbuttonname] => button_6 [stepsnavigation] => 1 [debugging] => 1 [onsubmit] => before_email ) ) ) [_errors] => Array ( ) )
formname: madre
Pages: Array ( - => figlio1 [1] => figlio2 [2] => figlio3 )
Current step: 2
Session data: Array ( [cod_articolo] => [button_2] => Conferma [5c58de1ef75435e7fe9c277fe8b97c0e] => 1 [1cf1] => 8030b9e721e200064ace772313f02b7a [chronoformname] => madre [articolo] => articolo 2 [prezzo] => 10 [quantita] => 10 [totale] => 100 [button_5] => Invia [cfformstep] => 1 )
Warning: Invalid argument supplied for foreach() in C:\Web\xampp\htdocs\www.aaa.it\components\com_chronocontact\chronocontact.html.php(180) : eval()'d code on line 10
Avete qualche idea?
Grazie
-
Ottima caccia per l'url. Quello è infatti un url generato dal seo di joomla attivato. Correggerò l'articolo.
Quanto ai campi vuoti è normale che sia così perchè non è previsto nel codice il recupero dei valori.
C'è anche un altro problema con il tag a nel tuo codice da chiudere ed una chiusura del input mancante nel mio. Quello giusto dovrebbe essere così.
<div>
<div>
<input value="Invia" name="button_6" type="submit" />
<a href="index.php?option=com_chronocontact&chronoformname=madre&cfformstep=2" style="text-decoration: none;">
<input value="Indietro" type="button" /></a>
</div>
<div> </div>
</div>
-
Grazie vales se deciderai di citare il mio nome quando correggerai l'articolo te ne sarò grato :-) scherzooo
Devo spulciare un po' di articoli in giro per capire come mai il form non ricarica i dati ma non si trovano molti esempi su chronoform.
Per fortuna c'è il tuo che è veramente ben fatto.
Quando torno indietro ricevo questa segnalazione
Warning: Invalid argument supplied for foreach() in C:\Web\xampp\htdocs\www.aaa.it\components\com_chronocontact\chronocontact.html.php(180) : eval()'d code on line 10
dato che fa riferimento proprio a chronocontact.html.php c'è un errore nel modulo o perde sempre le staffe quando torno indietro?
Grazie
-
Controlla in form HTML il codice in riga 10 sembra ci sia un argomento non valido.
Forse un valore di un campo non letto da una query ?
-
Questo è il codice che ho copiato dal tuo esempio
<p><?php
$db =& JFactory::getDBO();
$query = "
SELECT cf_id, art_nome, art_prezzo
FROM `#__chronoforms_form_articoli` WHERE `cf_id`=".$posted['cod_articolo'];
//echo $query;
$db->setQuery($query);
$nomes = $db->loadAssocList();
foreach ( $nomes as $v ) {
$articolo1 = $v['art_nome'];
$prezzo1 = $v['art_prezzo'];
}
però ho capio.
Tornando indietro il campo $posted è vuoto e genera l'errore.
Cosa che non succede quando vado avanti.
Devo solo trovare il modo di ripassare il valore cod_articolo quando premo il tasto indietro.
Per ora ho solo fatto un copia ed incolla dei tuoi esempi per provare tutto il giro. Non li ho inseriti nessuna riga in più.
Grazie
-
inserisci un campo nascosto nel secondo form in cui valorizzi cod_articolo.
<input type="hidden" name="cod_articolo" value="<?php echo $posted['cod_articolo']; ?> "/>
L'articolo però può essere di riferimento fino a un certo punto perchè li si tornava indietro solo al secondo form non al primo.
-
Grazie per il tempo che alla community.
Carlo