Joomla.it Forum
Componenti per Joomla! => Gestione Form => : markuty 20 Dec 2016, 20:48:25
-
Buonasera a tutti,
sto cercando di inserire un semplice campo dove immettere una password da me inviata a coloro che devono compilare il form, onde evitare inserimenti da intrusi.
Il sito non prevede log-in...
Ho provato ad inserire un Password Box da Designer ma poi in Setup non riesco a farlo funzionare...
grazie per l'aiuto
-
Scusa se la invii tu perché la inserisci nel form che dovrebbero compilare gli utenti piuttosto che mandargliela via email?
-
Salve tomtomeight,
sostanzialmente io invio un codice o password via email agli utenti che devono compilare il form,
il quale codice o passowrd deve essere digitato in un apposito campo di testo nel form e
se quanto digitato è uguale al codice/password da me inviato, gli utenti possono inoltrare
il form compilato, altrimenti se il codice/password è errato, restituisce un errore.
In pratica vorrei mettere da Designer un text box o password box (che chiamerò passw1) e da Setup un controllo
per quel campo nel quale dico che se passw1 è uguale a "xyz" allora puoi inviare il form, altrimenti no.
Più o meno come con il captcha che devi inserire il testo dell'immagine, solo che nel mio caso
bisogna inserire il testo che io comunico e solo chi ne è in possesso può inviare il form.
Spero di essere stato chiaro.
Grazie
-
Adesso è chiaro, ma credo che non serve impostarlo come password quel campo.
-
Ho risolto anche leggendo questo post:
http://forum.joomla.it/index.php?topic=247791.0 (http://forum.joomla.it/index.php?topic=247791.0)
Da Designer > Basic ho inseito un semplice Text Box,
nell' Edit > General del Text Box ho inserito:
Field Name=password
Field ID=password
Label=password
Sub Label=inserire la password ricevuta con la email
nell' Edit > Validation:
Required=Yes
poi andando in Setup, dentro la sezione On submit ho inserito da Validation un Event Switcher
sull' Edit dell Event Switcher
Events=success,fail
in code ho inserito questo codice php
<?php
if ($form->data['password']<>"xyzxyz") {
$form->errors[] = "La password inserita non corrisponde a quella inviata con la email";
return "fail";
}
?>
nell' On Fail dell' Event Switcher ho inserito un Event Loop
ed in Event name=load
così funziona... ora può inviare il form solo chi possiede la password che io fornisco!