Back to top

Autore Topic: ChronoForms Inserimento dati nella tablella  (Letto 5221 volte)

Offline daniel_gentoo

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
ChronoForms Inserimento dati nella tablella
« il: 07 Nov 2010, 17:00:21 »
Ciao,
Ho creato dei form multipli con ChronoForms però l'ultima form che dovrebbe fare l'iserimento del dato nella tabella non inserisce niente. Vi posto il codice!
Codice: [Seleziona]
<input name="cod_gara" value="<?php echo $posted['cf_id']; ?>" /> <br />

<?php echo $posted['cf_id']; ?> <br />
<?php echo $posted['costogara']; ?> <br />
<?php echo $posted['costopulmino']; ?> <br />
<?php echo $posted['localita']; ?> <br />
<?php echo $posted['data']; ?> <br />



<div>
 <div>
 <h1>Ti vuoi iscrivere alla gara? Confermi ?</h1>
 </div>
 <div> </div>
</div>

<div>
 <div>
Localita: <?php echo $posted['localita']; ?><br/><br/>
Data Gara: <?php echo $posted['data']; ?><br/><br/>
 </div>
 <div> </div>
</div>

<div>
<div>
Costo Gara: <?php echo $posted['costogara']; ?> €<br/><br/>
Costo Pulmino: <?php echo $posted['costopulmino']; ?> €<br/><br/>
<?php 
$cg
=$_POST['costogara'];
$cp=$_POST['costopulmino'];
$totale$cg+$cp;
?>

Costo Totale: <?php echo $totale ?> €<br/><br/>

</div>
 <div> </div>
</div>

<div>
 <div>
 <input value="Conferma" name="button_10" type="submit" />
<a href="index.php?option=com_chronocontact&chronoformname=form_main&cfformstep=2"
 style="text-decoration: none;"><input value="Indietro" type="button"></a>
 </div>
 <div> </div>
</div>

Dove sbaglio??


Ciao Grazie!

Offline daniel_gentoo

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
Re:ChronoForms Inserimento dati nella tablella
« Risposta #1 il: 07 Nov 2010, 20:12:00 »
Up!  :)

Offline ilvanni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 7038
  • Sesso: Maschio
  • Giovanni Vacca
    • Mostra profilo
Re:ChronoForms Inserimento dati nella tablella
« Risposta #2 il: 07 Nov 2010, 20:26:26 »
Un consiglio, non uppare a così poca distanza, qui non viene visto bene.

Offline daniel_gentoo

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
Re:ChronoForms Inserimento dati nella tablella
« Risposta #3 il: 07 Nov 2010, 20:35:59 »
Ok Scusami!
Scusa se ho sbagliato sezione!

Aspetto consigli!


Grazie!

Offline ilvanni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 7038
  • Sesso: Maschio
  • Giovanni Vacca
    • Mostra profilo
Re:ChronoForms Inserimento dati nella tablella
« Risposta #4 il: 07 Nov 2010, 20:43:40 »
Non preoccuparti per il cambio sezione, nel caso ci siamo noi moderatori che provvediamo, piuttosto mi raccomando per il futuro a non uppare più in quella maniera, ciao.

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:ChronoForms Inserimento dati nella tablella
« Risposta #5 il: 08 Nov 2010, 00:40:59 »
Per maggiore chiarezza occorrerebbe vedere gli altri form e da dove vengono i campi inseriti.

Nell'ultimo form prova a inserire dei campi nascosti con il valori provenienti dai precedenti form.

esempio

Codice: [Seleziona]
<input type="hidden" name="costogara" value="<?php echo $posted['costogara']; ?>" />
e così via per gli altri campi che non sono inseriti nell'ultimo form.

Non si usa l'array
Codice: [Seleziona]
$_POST['nomecampo'] non è sicuro e consentirebbe inclusioni di tutti i tipi.

in Joomla si usa
Codice: [Seleziona]
JRequest::getVar('nomecampo','','post')
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline daniel_gentoo

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
Re:ChronoForms Inserimento dati nella tablella
« Risposta #6 il: 08 Nov 2010, 14:23:29 »
Per maggiore chiarezza occorrerebbe vedere gli altri form e da dove vengono i campi inseriti.

Nell'ultimo form prova a inserire dei campi nascosti con il valori provenienti dai precedenti form.

esempio

Codice: [Seleziona]
<input type="hidden" name="costogara" value="<?php echo $posted['costogara']; ?>" />
e così via per gli altri campi che non sono inseriti nell'ultimo form.

Non si usa l'array
Codice: [Seleziona]
$_POST['nomecampo'] non è sicuro e consentirebbe inclusioni di tutti i tipi.

in Joomla si usa
Codice: [Seleziona]
JRequest::getVar('nomecampo','','post')

Lì ho messi così per vedere cosa restituiva.
quanto scrivi "JRequest::getVar('nomecampo','','post')" è l'equivalente di "<?php echo $posted['costogara']; ?>" Gisuto??

Ti posto il codice degli altri form! 1 attimo.



Offline daniel_gentoo

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
Re:ChronoForms Inserimento dati nella tablella
« Risposta #7 il: 08 Nov 2010, 14:32:20 »
Primo form con la scelta.

Codice: [Seleziona]
<?php
$nome_selected 
JRequest::getInt('localita''''post');
$db =& JFactory::getDBO();
$query "
 SELECT `cf_id`,`localita`, `costogara`, `costopulimino`, date_format(data,'%d/%m/%Y') data
 FROM `#__chronoforms_gestione_gare`
 ORDER BY `localita`
"
;

$db->setQuery($query);
$nomes $db->loadAssocList();
$nome_options "";
foreach ( 
$nomes as $v ) {
 if ( 
$nome_selected == $v['localita'] ) {
 
$selected "selected='selected'";
 } else {
 
$selected '';
 }
 
$nome_options .= "<option value='".$v['cf_id']."' $selected >".$v['localita']. ': Gara del ' .$v['data']."</option>";
}
?>


<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Scelta Gare</label>
    <select class="cf_inputbox" id="select_0" size="1" title=""  name="cf_id">
    <!--<option value="">Choose Option</option>-->
    <?php echo $nome_options?>
    </select>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>



<div class="form_item">
  <div class="form_element cf_button">
    <input value="Conferma" name="button_1" type="submit" />
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

Secondo form con il riepilo della gara ed eventuale utilizzo del pulmino per ora sta come ceckbox forse lo metto come textbox e deve inserire "S" o "N" poi vedo. Non c'è il controllo per vedere se il ceckbox ha il flag o meno... devo vedere anche questo.

Codice: [Seleziona]
<?php
$db 
=& JFactory::getDBO();
$query "
 SELECT `localita`, `costogara`, `costopulimino`, date_format(data,'%d/%m/%Y') data
 FROM `#__chronoforms_gestione_gare`  WHERE `cf_id`="
.$posted['cf_id'];

$db->setQuery($query);
$nomes $db->loadAssocList();  

foreach ( 
$nomes as $v ) {
 
$localita1 $v['localita'];
 
$costogara1 =  $v['costogara'];
 
$costopulmino1 =  $v['costopulimino'];
 
$data1 =  $v['data'];
}

$querydata "
 SELECT `data`, `costogara`
 FROM `#__chronoforms_gestione_gare`  WHERE `cf_id`="
.$posted['cf_id'];
$db->setQuery($querydata);
$set $db->loadObjectList();
foreach ( 
$set as $item ) {
     
$datagara $item->data;
     
$costogara$item->costogara;
}
$user =& JFactory::getUser();
$id=$user->id;
$sql "SELECT scadenzacetificato, fondocassa  FROM #__users WHERE id=".$id;
$db->setQuery($sql);
$set $db->loadObjectList();
foreach ( 
$set as $item ) {
     
$scadenzacetificato $item->scadenzacetificato;
     
$fondocassa $item->fondocassa;
}
$tot $costogara1 $costopulmino1;
?>


<?php

if ($datagara $scadenzacetificato OR $costogara $fondocassa)
{
echo 
"<h1>Non puoi partecipare a questa gara. Certificato scaduto o fondo cassa non sufficente per partecipare alla gara!</h1>";
echo 
'<br />
<a href="index.php?option=com_chronocontact&chronoformname=form_main&cfformstep=1"
 style="text-decoration: none;"><input value="Indietro" type="button"></a>'
;
}
else
{
echo 
'
<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 200px;">Località</label>
    <input class="cf_inputbox" maxlength="150" size="30" title="" id="text_0" name="localita" type="text" readonly="readonly" 
value="'
.$localita1.'"/>
  
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 200px;">Data Gara</label>
    <input class="cf_inputbox" maxlength="150" size="30" title="" id="text_1" name="data" type="text" readonly="readonly" value="'
.$data1.'" />
  
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 200px;">Costo Gara In €</label>
    <input class="cf_inputbox" maxlength="150" size="30" title="" id="text_3" name="costogara" type="text" readonly="readonly" 
value="'
.$costogara1.'" />
  
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_textbox">
    <label class="cf_label" style="width: 200px;">Costo Pulmino in €</label>
    <input class="cf_inputbox" maxlength="150" size="30" title="" id="text_4" name="costopulmino" type="text" readonly="readonly" 
value="'
.$costopulmino1.'" />
  
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

'
;
if (
$tot $fondocassa)
{
echo 
'
<div class="form_item">
  <div class="form_element cf_checkbox">
    <label class="cf_label" style="width: 200px;">Vuoi utilizzare il Pulmino?</label>
    <div class="float_left">
      <input value="Pulmino" title="" class="radio" id="check00" name="check0[]" type="checkbox" disabled="disabled" />
      <label for="check00" class="check_label">Pulmino</label>
      <br />
    </div> 
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_button">
    <input value="Invia" name="button_6" type="submit" />
<a href="index.php?option=com_chronocontact&chronoformname=form_main&cfformstep=1"
 style="text-decoration: none;"><input value="Indietro" type="button"></a>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>'
;
}
else
{
echo 
'

<div class="form_item">
  <div class="form_element cf_checkbox">
    <label class="cf_label" style="width: 200px;">Vuoi utilizzare il Pulmino?</label>
    <div class="float_left">
      <input value="Pulmino" title="" class="radio" id="check00" name="check0[]" type="checkbox" />
      <label for="check00" class="check_label">Pulmino</label>
      <br />
    </div> 
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

<div class="form_item">
  <div class="form_element cf_button">
    <input value="Invia" name="button_6" type="submit" />
<a href="index.php?option=com_chronocontact&chronoformname=form_main&cfformstep=1"
 style="text-decoration: none;"><input value="Indietro" type="button"></a>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>'
;
}
}
?>


Il terzo form è la conferma della partecipazione alla gara questo form deve fare l'iserimento nella tabella dove ci sono le prenotazione alle gare poi deve anche sottrarre la speza totale della gara all'utente. L'utente ha un fondo cassa con dei soldi che poi verranno scalati quindi anche upgrade della tabella jos_user che ho modificato con altri campi.

Codice: [Seleziona]
<div>
 <div>
<input name="cod_gara" value="<?php echo $posted['cf_id']; ?>"/>
 </div>
 <div> </div>
</div>
<br />
<?php echo $posted['cf_id']; ?> <br />
<?php echo $posted['costogara']; ?> <br />
<?php echo $posted['costopulmino']; ?> <br />
<?php echo $posted['localita']; ?> <br />
<?php echo $posted['data']; ?> <br />

<div>
 <div>
 <h1>Ti vuoi iscrivere alla gara? Confermi ?</h1>
 </div>
 <div> </div>
</div>

<div>
 <div>
Localita: <?php echo $posted['localita']; ?><br/><br/>
Data Gara: <?php echo $posted['data']; ?><br/><br/>
 </div>
 <div> </div>
</div>

<div>
<div>
Costo Gara: <?php echo $posted['costogara']; ?> €<br/><br/>
Costo Pulmino: <?php echo $posted['costopulmino']; ?> €<br/><br/>
<?php 
$cg
=$_POST['costogara'];
$cp=$_POST['costopulmino'];
$totale$cg+$cp;
?>

Costo Totale: <?php echo $totale ?> €<br/><br/>

</div>
 <div> </div>
</div>

<div>
 <div>
 <input value="Conferma" name="button_send" type="submit" />
<a href="index.php?option=com_chronocontact&chronoformname=form_main&cfformstep=2"
 style="text-decoration: none;"><input value="Indietro" type="button"></a>
 </div>
 <div> </div>
</div>
<br/><br/>

Spero di essere stato chiaro!  :)

Grazie 1000!
« Ultima modifica: 08 Nov 2010, 14:33:52 da daniel_gentoo »

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:ChronoForms Inserimento dati nella tablella
« Risposta #8 il: 08 Nov 2010, 19:56:44 »
Dovresti attivare il debug nel plugin Multipage del form madre e eventualmente negli altri form per verificare il flusso dei campi inviati.
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline daniel_gentoo

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
Re:ChronoForms Inserimento dati nella tablella
« Risposta #9 il: 08 Nov 2010, 21:25:52 »
Lì ho attivati... mi sembra che va tutto bene!

Ti posto il bebug

Primo form

Codice: [Seleziona]
$params: JParameter Object ( [_raw] => stepscount=3 formsnames=scelta_gare,info_gara,conferma_iscrizione finalbuttonname=button_send stepsnavigation=1 debugging=1 onsubmit=before_email [_xml] => [_elements] => Array ( ) [_elementPath] => Array ( [0] => C:\xampp\htdocs\avis.gestione.gare\libraries\joomla\html\parameter\element ) [_defaultNameSpace] => _default [_registry] => Array ( [_default] => Array ( [data] => stdClass Object ( [stepscount] => 3 [formsnames] => scelta_gare,info_gara,conferma_iscrizione [finalbuttonname] => button_send [stepsnavigation] => 1 [debugging] => 1 [onsubmit] => before_email ) ) ) [_errors] => Array ( ) )

formname: form_main

Pages: Array ( [0] => scelta_gare [1] => info_gara [2] => conferma_iscrizione )

Current step: 1

Session data: Array ( )

Secondo form

Codice: [Seleziona]
Posted: Array ( [cf_id] => 2 [button_1] => Conferma [d8ad697973f65de68ae0fb22fc084e5a] => 1 [1cf1] => 23e0352f3f0a3634e3d8f7d81b719d0a [chronoformname] => form_main )

Files: Array ( )

Current step: 1

Terzo Form

Codice: [Seleziona]
Posted: Array ( [cf_id] => 2 [button_1] => Conferma [d8ad697973f65de68ae0fb22fc084e5a] => 1 [1cf1] => 23e0352f3f0a3634e3d8f7d81b719d0a [chronoformname] => form_main [localita] => San Benedetto del Tronto [data] => 15/08/2011 [costogara] => 20 [costopulmino] => 10 [button_9] => Invia
[cfformstep] => 1 )

Files: Array ( )

Current step: 2

Al terzo form do conferma

Codice: [Seleziona]
Posted: Array ( [cf_id] => 2 [button_1] => Conferma [d8ad697973f65de68ae0fb22fc084e5a] => 1 [1cf1] => 23e0352f3f0a3634e3d8f7d81b719d0a [chronoformname] => form_main [localita] => San Benedetto del Tronto [data] => 15/08/2011 [costogara] => 20 [costopulmino] => 10 [button_9] => Invia [cfformstep] => 1 [cod_gara] => 2 [button_send] => Conferma )

Files: Array ( )

Current step: 3

Mi sembra che sta tutto ok!

Sbaglio??

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:ChronoForms Inserimento dati nella tablella
« Risposta #10 il: 08 Nov 2010, 21:43:18 »
Se tutti i campi sono valorizzati e se hai selezionato correttamente la tabella nel form madre deve salvare i dati.
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline daniel_gentoo

  • Nuovo arrivato
  • *
  • Post: 17
    • Mostra profilo
Re:ChronoForms Inserimento dati nella tablella
« Risposta #11 il: 08 Nov 2010, 21:52:06 »
Nelle prorpietà del form_main è connesso alla tabella che mi serve quando si fa conferma nell'ultimo form. Come parametro di conferma vuole il nome del bottone, ci ho anche isnerito quello!
Non so cosa pensare!

mmmmmm.....  :(
« Ultima modifica: 08 Nov 2010, 22:04:56 da daniel_gentoo »

 



Web Design Bolzano Kreatif