Joomla.it Forum
Componenti per Joomla! => Gestione Form => : antjoom 01 Apr 2017, 19:32:52
-
Ciao, non riesco ad uscire fuori da questa cosa
In un form ho due Radio Box
Nel lato Setup, nell'evento "On success" ho inserito due Event switcher seguiti da Email
Nel primo Event Switcher c'è questo codice
<?php
if ($form->data['radio16']=="Evento 1") {
return "success";
} else {
return "fail";
}
?>
Nel secondo c'è quest'altro
<?php
if ($form->data['radio17']=="Evento 2") {
return "success";
} else {
return "fail";
}
?>
Cosa succede: se si verifica l'Evento 1 arriva una mail ad un indirizzo mail specifico e se si verifica l'Evento 2 arriva una mail ad altro indirizzo.
Se una persona seleziona entrambi gli eventi, arrivano solo le mail dell'Evento1 ignorando quelle del'Evento 2
Io vorrei che se un utente selezionasse entrambi gli Eventi, partirebbero due mail
Possibile? perdonatemi se ho creato un pò di confusione
-
Ciao, non riesco ad uscire fuori da questa cosa
In un form ho due Radio Box
Io vorrei che se un utente selezionasse entrambi gli Eventi, partirebbero due mail
I Radio Box di un Form possono dare soltanto 1 risposta anche se sono tanti. Quando ne clicchi uno escludi gli altri e il tuo php per l'esame dell'input utente è da rivedere perché gli input type = radio hanno tutti lo stesso name, cambia il value e in base a quello il php si orienta.
Se sostituisci i radio box con dei check box che possono avere molti valori e adatti il php dovrebbe funzionare.
Ciao!
-
Ok, e se inserisco un check box con tre scelte, potresti darmi il codice PHP da inserire nell'Event switcher?
Lo so che chiedo troppo, ma se puoi dammi una mano
-
Lo trovi con una ricerca: http://forum.joomla.it/index.php?topic=229704.0 (http://forum.joomla.it/index.php?topic=229704.0)
Comunque sarebbe bene che lo specificassi se stai usando chronoform per il form, altrimenti metti in difficoltà chi cerca di aiutarti
-
Ok, e se inserisco un check box con tre scelte, potresti darmi il codice PHP da inserire nell'Event switcher?
Il codice del link segnalato da Giovi va bene.
Credo che hai fatto un po' di confusione con html. Pulsanti radio e check box sono molto diversi.
Per i radio è importante l'attributo value, per i check box molto meno. Il codice del link:<?php
switch ($form->data['nome_campo']) {
case 'opzione2':
return 'event_b'; /* invia mail a indirizzo1 */
break;
case 'opzione3':
return 'event_c'; /* invia mail a tutti e due gli indirizzi */
break;
default:
return 'event_a'; /* errore non cliccato nessuno */
break;}
?>
Va bene per solo questo html:<br><input type="radio" name="nome_campo" value="opzione2" >
<br><input type="radio" name="nome_campo" value="opzione3">
Se, invece, adoperi i check box ne devi mettere 2, ognuno con un diverso name e le loro risposte sono solo selezionato o non selezionato, quindi
check1 selezionato invia mail a indirizzo1,
check2 selezionato invia mail a indirizzo2,
tutti e due selezionati invia mail a tutti.
Mi sono spiegato?
Ciao!
-
Lo trovi con una ricerca: http://forum.joomla.it/index.php?topic=229704.0 (http://forum.joomla.it/index.php?topic=229704.0)
Comunque sarebbe bene che lo specificassi se stai usando chronoform per il form, altrimenti metti in difficoltà chi cerca di aiutarti
Hai ragione scusami. Utilizzo chronoform 5
Se, invece, adoperi i check box ne devi mettere 2, ognuno con un diverso name e le loro risposte sono solo selezionato o non selezionato, quindi
check1 selezionato invia mail a indirizzo1,
check2 selezionato invia mail a indirizzo2,
tutti e due selezionati invia mail a tutti.
Mi sono spiegato?
Ciao!
Ok, diciamo che nella mia ignoranza vi seguo fino ad un certo punto. Vediamo se ho capito
In primis utilizzare i check box che vanno bene per quello che devo fare
Lato Designer me ne occorrono 3
(http://i67.tinypic.com/2diet6f.jpg)
Nel lato setup invece, ho inserito 3 Event Switcher (uno per ogni check box ) con conseguente invio mail
(http://i64.tinypic.com/2gxocwh.jpg)
Per adesso è giusto così?
ora dovrei aggiungere il codice php
<?php
switch ($form->data['checkbox134']) {
case '1':
return '1'; /* invia mail a indirizzo1 */
break;
?>
Potrebbe essere questo?
Grazie mille
-
Hai ragione scusami. Utilizzo chronoform 5
Potrebbe essere questo?
Conosco Chronoform troppo poco per arrischiarmi e penso che probabilmente potresti fare tutto col solo pannello di controllo.
Comunque il tuo codice non va bene per i checkbox perché bisogna:
- verificare che il checkbox esista, altrimenti quando lo testi dà errore se non esiste.
- verificare se è 'on' oppure 'ON' oppure 'true', dipende dal browser.
Quello che posso fare è postare un frammento generico per controllare due checkbox. Spero ti sia d'aiuto.
<?php
/* php => 5.5 */
class Prova{
static $ck = '';
function __construct(){
$test1 = function (){
if ($_POST['check1'] == 'on'){self::$ck .= '"ceck1 spuntato"';}
};
$test2 = function (){
if ($_POST['check2'] == 'on'){self::$ck .= ' "ceck2 spuntato"';}
};
isset($_POST['check1']) ? $test1() : '';
isset($_POST['check2']) ? $test2() : '';
}
}
$ckP = new Prova();
?>
<!DOCTYPE html>
<html>
<head>
<title>Es_checkbox</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<label>label1</label>
<input type="checkbox" name="check1">[br /]
<label>label2</label>
<input type="checkbox" name="check2">[br /]
[br /]<input type="submit" value=" TEST CHECKBOX ">
</form>
[br /]
<div><?php echo $ckP::$ck; ?><>
</body>
</html>
-
Intanto grazie :) , sto facendo varie prove per capire se riesco