Salve a tutti. Ho un problema che non riesco a risolvere! Utilizzo un form creato con chronoforms per salvare dati in un db ed inviare email composte dinamicamente mediante lo stesso form.
Nel form ho realizzato la seguente funzione:
- Con radio button stabilisco se il messaggio è standard o se deve essere compilato manualmente;
- Se il messaggio è standard mediante un dropdown carico da altro db il testo che voglio inviare altrimenti si apre un campo testo che mi consente di scrivere il messaggio.
Il codice, adattato dagli esempi suggeriti da vales nei suoi tutorial è il seguente:
<div class="form_item">
<div class="form_element cf_radiobutton">
<label class="cf_label" style="width: 150px;">Messaggio</label>
<div class="float_left">
<input value="Prototipo" title="" class="radio validate-one-required" id="radio00" name="reso_switch" type="radio" rel="prototipo" />
<label for="radio00" class="radio_label">Prototipo</label>
<br />
<input value="Compilato" title="" class="radio validate-one-required" id="radio01" name="reso_switch" type="radio" rel="compilazione" />
<label for="radio01" class="radio_label">Compilazione</label>
<br />
</div>
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item" rel="prototipo">
<div class="form_element cf_dropdown">
<label class="cf_label" style="width: 150px;">Messaggio</label>
<div class="float_left">
<select class="cf_inputbox validate-selection" id="reso_msg" size="1" title="" name="reso_msg">
<option value="">Scelta</option><?php
$db =& JFactory::getDBO();
$query = "SELECT cf_id, messaggio_sunto, messaggio_standard FROM #__lavori_messaggi ORDER BY cf_id ";
$db->setQuery($query);
$nomes = $db->loadAssocList();
$nome_options = "";
foreach ( $nomes as $v ) {
$nome_options .= "<option value='".$v['messaggio_standard']."' >".$v['messaggio_sunto']."</option>";
}
echo $nome_options;?>
</select>
</div></div>
<div class="cfclear"> </div>
</div>
<div class="form_item" rel="compilazione">
<div class="form_element cf_textarea">
<label class="cf_label" style="width: 150px;">Corpo del messaggio</label>
<textarea class="cf_inputbox" rows="5" id="reso" title="" cols="60" name="reso_msg"></textarea>
</div>
<div class="cfclear"> </div>
</div>
La cosa assurda è che l'email viene inviata correttamente, quindi con il testo scelto mediante dropdown (nel codice dell'email il campo è chiamato {reso_msg}), ma lo stesso dato non viene salvato nel relativo campo del db (reso_msg). Analogamente il campo reso_switch (Prototipo-Compilato in funzione della scelta effettuata) non viene aggiornato. Preciso che non viene fuori nessun messaggio di errore e che altri campi dello stesso form vengono regolarmente aggiornati.
Grazie per i consigli che vorrete darmi. Ciao.