Far compilare un form una sola volta con Chronoform

Far compilare un form una sola volta con Chronoform

  • Blog
  • Letto 3253 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

<?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*/
?>

Contattami


contattami.png

Sign up to keep in touch!

Se mi lasci la tua mail ti invierò comunicati stampa inerenti alla mia attività


Ovviamente puoi cancellarti quando lo ritieni opportuno