Autore Topic: Piccolo aiutino PHP per form  (Letto 192 volte)

Offline antjoom

  • Esploratore
  • **
  • Post: 163
    • Mostra profilo
Piccolo aiutino PHP per form
« il: 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


Codice: [Seleziona]
<?php
if ($form->data['radio16']=="Evento 1") {
return 
"success";
} else {
return 
"fail";
}
?>


Nel secondo c'è quest'altro


Codice: [Seleziona]
<?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


Offline Alex21

  • Appassionato
  • ***
  • Post: 388
    • Mostra profilo
    • Immobili a Padova
Re:Piccolo aiutino PHP per form
« Risposta #1 il: 01 Apr 2017, 20:11:03 »
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!





Offline antjoom

  • Esploratore
  • **
  • Post: 163
    • Mostra profilo
Re:Piccolo aiutino PHP per form
« Risposta #2 il: 01 Apr 2017, 20:29:20 »
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

Offline giovi

  • Instancabile
  • ******
  • Post: 9765
  • Sesso: Maschio
    • Mostra profilo
    • Simple
Re:Piccolo aiutino PHP per form
« Risposta #3 il: 02 Apr 2017, 09:24:34 »
Lo trovi con una ricerca: 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
Che ti costa? Se ti ho aiutato, aiutami anche tu votando Simple sulla Joomla! Extension Directory

Offline Alex21

  • Appassionato
  • ***
  • Post: 388
    • Mostra profilo
    • Immobili a Padova
Re:Piccolo aiutino PHP per form
« Risposta #4 il: 02 Apr 2017, 12:20:00 »
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:
Codice: [Seleziona]
<?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:
Codice: [Seleziona]
<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!

Offline antjoom

  • Esploratore
  • **
  • Post: 163
    • Mostra profilo
Re:Piccolo aiutino PHP per form
« Risposta #5 il: 02 Apr 2017, 14:25:49 »
Lo trovi con una ricerca: 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





Nel lato setup invece, ho inserito 3 Event Switcher (uno per ogni check box ) con conseguente invio mail





Per adesso è giusto così?


ora dovrei aggiungere il codice php


Codice: [Seleziona]
<?php
switch ($form->data['checkbox134']) {
case 
'1':
    return 
'1';   /* invia mail a indirizzo1 */
    
break;
 
?>


Potrebbe essere questo?


Grazie mille



Offline Alex21

  • Appassionato
  • ***
  • Post: 388
    • Mostra profilo
    • Immobili a Padova
Re:Piccolo aiutino PHP per form
« Risposta #6 il: 02 Apr 2017, 22:34:15 »
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.
Codice: [Seleziona]
<?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>


« Ultima modifica: 02 Apr 2017, 22:38:02 da Alex21 »

Offline antjoom

  • Esploratore
  • **
  • Post: 163
    • Mostra profilo
Re:Piccolo aiutino PHP per form
« Risposta #7 il: 03 Apr 2017, 17:30:05 »
Intanto grazie  :) , sto facendo varie prove per capire se riesco

 

Torna su