
Far compilare un form una sola volta con Chronoform
- Blog
- Letto 4173 volte
Vi ho già detto che reputo chronoform il miglior componente per creare form su Joomla. Il mio giudizio si basa sul fatto che è altamente personalizzabile, e si possono fare cose all’apparenza molto complicate.
Un mio problema tempo fa era per esempio di evitare che un utente registrato potesse compilare due volte lo stesso form, andando ad interrogare il DB che, se trovava già un form compilato da un utente (con un certo ID) poi non poteva ricompilarlo, e magari reindirizzarlo ad una pagina in cui scrivevo che non si poteva accedere al form perchè già compilato.
Ebbene, ho risolto tutto questo con qualche riga di codice PHP.
Tra le opzioni di chronoform scegliete un custom event switcher (bisogna creare un form avanzato) e inserite li questo codice PHP
$user =& JFactory::getUser();
$db =& JFactory::getDBO();
$query = "
SELECT COUNT(*)
FROM `#__chronoforms_data_prova` /*qui inserite il nome della vostra tabella*/
WHERE `cf_user_id` = '{$user->id}' ;
";
$db->setQuery($query);
$count = $db->loadResult();
if ( $count >= 1 ) {
// the form has already been completed
header("Location: index.php");} /*qui inserite il redirect*/
?>