Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    form con più destinatari

    ciao a tutti,
    ho una select con più destinatari a cui inviare mail.

    Il problema sussiste quando l'utente non sceglie i destinatari ma la select rimane su SELEZIONA.
    in questo modo se qualcuno invia la mail,
    il form dice che la mail è stata inviata ma in realtà non è così.
    come posso fare per far si che il form dica all'utente dopo l'invio che bisogna inserire un destinatario dalla select?

    dovrei inserire un if...
    potete aiutarmi? il codice è questo: (recipient è la select con i destinatari)


    <?
    $from="From: form inviato dal sito TECNOFRIGO S.R.L.<info@tecnofrigosrl.com>";

    $richiesti=explode(",",$requested);
    $nascosti=array("recipient","soggetto","requested" ,"redirect","ip");
    $count=count($richiesti);

    for($i=0;$i<$count;$i++)
    {
    $a=$richiesti[$i];
    if(trim($HTTP_POST_VARS[$a])=="")
    {
    $mess.="Il campo $a è vuoto
    ";
    }
    }

    if($mess) :
    echo "<table><tr><td style=\"font-family:verdana;font-size:10 pt\">
    Il form non è stato inviato per i seguenti errori:

    $mess
    </td></tr></table>";
    else :

    while(list($nome,$value)=each($HTTP_POST_VARS))
    {
    $campi[]=$nome;
    if(!in_array($nome, $nascosti))
    {
    $body.= "$nome: $value\n";
    }
    }

    $head="Modulo proveniente dal sito $HTTP_HOST\n\n\n";
    $giorno=date("d/m/y");
    $ora=date("H:i:s");
    $foot="\n\nModulo compilato il $giorno alle ore $ora";

    if (in_array ("ip", $campi))
    {
    $foot.=" dall'IP $REMOTE_ADDR";
    }

    $contenuto=$head.$body.$foot;
    mail($recipient,$soggetto,$contenuto, $from);
    if($redirect) :
    header("Location: $redirect");
    else :
    echo "Il form è stato inviato correttamente";
    endif;

    endif;

    ?>

  2. #2
    Vedi se riesci a fare così: prima di tutto quel popò di codice che invia la mail fai un if del tipo

    [CODE]
    if ($destinatario="qua metti il risultato del select non selezionato")
    {
    echo"ERRORE! Devi selezionare un destinatatio altrimenti non posso inviare la e-mail; campo select obbligatorio

    Clicca qui per riprendere le operazioni";
    }
    else
    {
    //Tutto il tuo codice per mandare la e-mail
    }

  3. #3

    non va...

    non mi funziona....
    ti prego potresti inserirmelo tu nel codice? non vorrei che io sbagliassi qualcosa..


  4. #4
    fammi capire alcune cose:
    nella prima pagina ce una lista di nomi affiancati ognuno da una checkbox in cui scegliere i destinatari, quindi passi l'array all'altra pagina?
    perche se cosi fosse basta testare l'esistenza della variabile ed hai risolto if(!isset($variabile_array))
    alrimenti aiutami a capire i passaggi
    http://www.perungiorno.it

  5. #5
    ciao,
    no non è un check box ma una select (con la voce seleziona e 4 indirizzi e-mail.
    il codice della select è questo:

    <td bgcolor="#FFFFFF"><select name="recipient" id="select2" class="form">
    <option>seleziona..</option>
    <option value="info@dominio.com">Informazioni</option>
    <option value="amministrazione@dominio.com">Amministrazion e</option>
    <option value="commerciale@dominio.com">Ufficio Commerciale</option>
    <option value="servizio@dominio.com">Magazzino Ricambi ed
    Officina</option>
    </select>
    -------------------------------------------------------------------
    questo form con questa select di destinatari reindirizza il form al codice della pagina php che ho scritto sopra.

    Il fatto è che funziona ma se dalla select non selezioni nulla ma rimane alla voce SELEZIONA... il form dice sempre che l'e-mail è stata mandata ma in realtà non è vero.
    volevo solo che mi uscisse in tal caso un msg dove dice che non è stato selezionato alcun destinatario.

  6. #6
    ok chiaro
    fai diventare:
    <option>seleziona..</option>
    in <option value = 0>seleziona..</option>
    oopure <option value = "niente">seleziona..</option>

    nell'altra pagina if($_POST['seleziona']==0)
    oppure
    if($_POST['seleziona']=="niente") // decidi cosa mettere
    {
    echo "seleziona una email";
    }
    else
    {
    // procedi con l'invio
    }
    spero ora tu abbia risolto altrimenti dimmi che continuiamo insieme
    bye
    http://www.perungiorno.it

  7. #7
    non ancora risolto

    ora praticamente se non seleziono la mail..mi dice di selezionarla..
    ma quando la seleziono..mi dice sempre di selezionare la mail.

    perchè??

    grazie per la disponibilità

  8. #8
    praticamente il codice php di invio modificato è questo:

    <?
    $from="From: form inviato dal sito TECNOFRIGO S.R.L.<info@tecnofrigosrl.com>";

    $richiesti=explode(",",$requested);
    $nascosti=array("soggetto","requested","redirect", "ip");
    $count=count($richiesti);

    for($i=0;$i<$count;$i++)
    {
    $a=$richiesti[$i];
    if(trim($HTTP_POST_VARS[$a])=="")
    {
    $mess.="Il campo $a è vuoto
    ";
    }
    }

    if($mess) :
    echo "<table><tr><td style=\"font-family:monospace;font-size:11 px;color:#0089E1\">
    Il form non è stato inviato per i seguenti errori:

    $mess
    </td></tr></table>";
    else :

    while(list($nome,$value)=each($HTTP_POST_VARS))
    {
    $campi[]=$nome;
    if(!in_array($nome, $nascosti))
    {
    $body.= "$nome: $value\n";
    }
    }

    if($_POST['seleziona']==0)
    {
    echo "<table><tr><td style=\"font-family:monospace;font-size:11 px;color:#0089E1\">
    Devi selezionare una mail


    </td></tr></table>";
    }
    else
    {
    echo "Il form è stato inviato correttamente";
    }


    $head="Modulo proveniente dal sito $HTTP_HOST\n\n\n";
    $giorno=date("d/m/y");
    $ora=date("H:i:s");
    $foot="\n\nModulo compilato il $giorno alle ore $ora";

    if (in_array ("ip", $campi))
    {
    $foot.=" dall'IP $REMOTE_ADDR";
    }

    $contenuto=$head.$body.$foot;
    mail($recipient,$soggetto,$contenuto, $from);
    if($redirect) :
    header("Location: $redirect");
    else :
    echo "Il form è stato inviato correttamente";
    endif;

    endif;

    ?>
    --------------------------------------------------------
    non vorrei aver sbagliato qualcosa...
    ----------------------------------------------------

    mentre nella pagina del form la procedura di invio è questa:

    la select è questa: <select name="destinatario" id="select2" class="form">
    <option value = 0>seleziona..</option>
    <option value="info@dominio.com">Informazioni</option>
    <option value="amministrazione@dominio.com">Amministrazion e</option>
    <option value="commerciale@dominio.com">Ufficio Commerciale</option>
    <option value="servizio@dominio.com">Magazzino Ricambi ed
    Officina</option>
    </select>

    etc etc...

    e la procedura di invio alla fine del form è questa:

    <input type=hidden name=redirect value="ok.htm">
    <input type=hidden name=soggetto value="informazioni">
    <input type=hidden name=ip value="">
    <input type=hidden name=requested value="destinatario,nome,email,telefono,info">
    <input name="submit" type="submit" value="Invia" class="form">
    <input type="reset" value="Cancella" name="Cancella" class="form"></td>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.