Joomla.it Forum
Componenti per Joomla! => Gestione Form => : sapand 10 Dec 2009, 11:29:34
-
sto utilizzando chronoforms e chronoconnectivity, grazie alle guide di Vales, sono veramente utili. E' veramente semplice creare e gestire form con questi componenti, adesso però ho il seguente problema al quale non ho ancora trovato soluzione: permettere a un utente registrato di compilare un form e in pratica inserire le sue preferenze ma rendere ciò possibile una sola volta, in seguito lo stesso potrà modificare le proprie preferenze, ma non reinserirle una seconda volta. Quando associo ad una voce di menù il form di inserimento questo poi sarà sempre presente.. come posso risolvere?
-
Una cosa simile ho fatto con l'aiuto di Community Builder (anche se si potrebbe fare con Chronoforms).
In pratica avevo bisogno dei campi personalizzati di tipo "User Read Only" per permettere all'utente di inserire solo una volta un codice invito.
-
Io voglio permettere a un utente registrato di compilare un form solo una volta (se lo vuole), in seguito potrà soltanto modificare i valori inseriti in ogni campo del form. In questo modo ogni utente inserisce un solo record sulla tabella nel db. Chiaro? come faccio?
-
Ti ho risposto prima... leggi bene
-
Nel Html code del form destinato all'inserimento dei dati metti una ricerca sul codice dell'utente registrato che compila il form in caso di esito positivo lo blocca altrimenti va avanti.
Nelle cosidette guide dovresti trovare anche del codice adattabile a questo uso.
-
Grazie Vales, dove trovo queste guide? Ma la voce di menu la posso eliminare? Io vorrei che dopo che i dati sono stati inviati la prima volta la voce di menu inserimento non sia piu presente
-
sto utilizzando chronoforms e chronoconnectivity, grazie alle guide di Vales, sono veramente utili.
Le hai citate te nel primo post. ;D
-
Le tue guide le ho utilizzate e mi sono servite molto, ma non so dove mettere mano per risolvere questo problema
-
Ho risolto il mio problema facendo come dicevi tu, ovvero mettendo in html code form il seguente codice:
<?php
$user = & JFactory::getUser();
$var = mysql_query ("SELECT * FROM jos_chronoforms_scheda WHERE cf_user_id = $user->id");
$num = mysql_num_rows($var);
if ($num != 0)
{
echo '...';
}
else
{
echo '...';
}
Ho creato un nuovo post per cercare di risolvere il problema diversamente, cioè eliminando la voce di menù associata. Grazie ancora una volta dell'aiuto Vales.
-
Installando il modulo Metamod ho risolto.
Sono riuscito a far inserire i dati una sola volta non mostrando il modulo con la voce di menù che permetteva l'inserimento, dopo che questo era già stato effettuato. Ecco il codice da mettere in PHP:
$use = & JFactory::getUser();
$var = mysql_query ("SELECT * FROM jos_chronoforms_tab WHERE cf_user_id = $use->id");
$num = mysql_num_rows($var);
if ($num == 0)
return 25; (25 nel mio caso è l'id del modulo con la voce di menù)
Attenzione il modulo deve essere non pubblicato altrimenti lo visualizza sempre! Col codice di sopra viene visualizzato se non è già stato fatto l'inserimento altrimenti no