Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. php - Invio mail form
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • T
      thedarkita ModSenior • ultima modifica di

      Invece di eseguire sempre quel codice, con un if verifichi che la variabile POST submit sia stata inviata prima di eseguire quella parte di codice.

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • P
        painless User • ultima modifica di

        Scusami ancora e se invece vorrei fare in modo che se alcuni campi non sono compilati la mail non procede? E ti compare sempre un messaggio di errore?

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • T
          thedarkita ModSenior • ultima modifica di

          Fai attenzione alle maiuscole nei tuoi messaggi...
          Per quanto riguarda la domanda, dovresti fare degli if sulle variabili POST prima di utilizzare la funzione mail.

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • P
            painless User • ultima modifica di

            Si Scusami... If del tipo?

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • T
              thedarkita ModSenior • ultima modifica di

              [php]
              if(!isset($_POST["nome"]) || $_POST["nome"] == '')
              die('Nome mancante');
              [/php]

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • P
                painless User • ultima modifica di

                Ho provato.. ma inserendo questo che mi hai detto tu.. seguito dagli altri cambiando solo la variabile.. mi dice che è vuoto solo il primo campo..
                Quindi mi compare il messaggio Nome mancante..
                Appena compilo il campo nome mi dice cognome mancante.. mentre invece voglio che mi dice manca questo, questo e quastaltro..

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • T
                  thedarkita ModSenior • ultima modifica di

                  Dovresti postare cosa hai fatto.

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • P
                    painless User • ultima modifica di

                    [PHP]
                    if(isset($_POST['submit']))
                    {

                    if(!isset($_POST["nome"]) || $_POST["nome"] == '')
                    

                    die('Nome mancante');
                    if(!isset($_POST["cognome"]) || $_POST["cognome"] == '')
                    die('Cognome mancante');
                    if(!isset($_POST["indirizzo"]) || $_POST["indirizzo"] == '')
                    die('Indirizzo mancante');
                    if(!isset($_POST["tel"]) || $_POST["tel"] == '')
                    die('Tel mancante');
                    if(!isset($_POST["mail"]) || $_POST["mail"] == '')
                    die('Mail mancante');
                    if(!isset($_POST["prodotto"]) || $_POST["prodotto"] == '')
                    die('Seleziona il Prodotto');

                    // L'INDIRIZZO DEL DESTINATARIO DELLA MAIL
                    $to = "[email protected]";

                    // IL SOGGETTO DELLA MAIL
                    $subject = "RICHIESTA PRODOTTO - TECNOWOODSHOP.IT";

                    // COSTRUZIONE DEL CORPO DEL MESSAGGIO
                    $body = "Contenuto del modulo:\n\n";

                    $body .= "Dati personali ;\nCognome: " . trim(stripslashes($_POST["cognome"])) . "\n";
                    $body .= "Nome: " . trim(stripslashes($_POST["nome"])) . "\n";
                    $body .= "Indirizzo: " . trim(stripslashes($_POST["indirizzo"])) . "\n";
                    $body .= "Tel: " . trim(stripslashes($_POST["tel"])) . "\n";
                    $body .= "Mail: " . trim(stripslashes($_POST["mail"])) . "\n";
                    $body .= "Prodotto: " . trim(stripslashes($_POST["prodotto"])) . "\n";
                    $body .= "Ricevere Newsletter?: " . trim(stripslashes($_POST["new"])) . "\n\n";

                    // INTESTAZIONI SUPPLEMENTARI
                    $headers = "From: Modulo utenti <INDIRIZZO-COME-SOPRA>";

                    // INVIO DELLA MAIL
                    if(@mail($to, $subject, $body, $headers)) { // SE L'INOLTRO E' ANDATO A BUON FINE...

                    echo "<div style="text-align:center;width:160px;color:#00ff00" align="center"><b>"."MAIL INOLTRATA."."</b></div>";

                    }

                    else {// ALTRIMENTI...

                    echo "<div style="text-align:center;width:160px;color:red" align="center"><b>"."ERRORE MAIL."."</b></div>";

                    }

                    }

                    ?>

                    [/PHP]

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • T
                      thedarkita ModSenior • ultima modifica di

                      Invece di usare die sarebbe da usare echo e inserire una variabile flag per non inviare l'email in caso di errori, ma dovresti comunque studiare le basi di php.

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • P
                        painless User • ultima modifica di

                        EeehhHHh!1 No scusami ho capito ben poco.. Siccome dovrei fare solo quest'ultima cosa.. ti chiedo umilmente se mi puoi aiutare.. Per quanto riguarda il php me lo devo insegnare.. ma per ora non ho tempo..

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • T
                          thedarkita ModSenior • ultima modifica di

                          [php]
                          if(!isset($_POST["nome"]) || $_POST["nome"] == '')
                          {
                          $err = true;
                          echo 'Nome mancante<br>';
                          }
                          if(!isset($_POST["cognome"]) || $_POST["cognome"] == '')
                          {
                          $err = true;
                          echo 'Cognome mancante<br>';
                          }
                          if(!isset($_POST["indirizzo"]) || $_POST["indirizzo"] == '')
                          {
                          $err = true;
                          echo 'Indirizzo mancante<br>';
                          }
                          if(!isset($_POST["tel"]) || $_POST["tel"] == '')
                          {
                          $err = true;
                          echo 'Tel mancante<br>';
                          }
                          if(!isset($_POST["mail"]) || $_POST["mail"] == '')
                          {
                          $err = true;
                          echo 'Mail mancante<br>';
                          }
                          if(!isset($_POST["prodotto"]) || $_POST["prodotto"] == '')
                          {
                          $err = true;
                          echo 'Seleziona il Prodotto<br>';
                          }
                          if(isset($err))
                          die;
                          [/php]

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • P
                            painless User • ultima modifica di

                            Grazie 🙂

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • T
                              thedarkita ModSenior • ultima modifica di

                              Ti ho già scritto il codice esatto veramente...
                              Forse non hai visto la seconda pagina della discussione.

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • P
                                painless User • ultima modifica di

                                Comunque vedi che il "$_POST["prodotto"]" è un menu a tendina.. Quindi non so come si deve procedere per questo? Penso che sia in ogni caso selezionato il menu a tendina.. Ma se io voglio che devi selezionare una voce differente da "Seleziona prodotto" per procedere come deve essere sto codice?? Comunque questa è l'ultima cosa che ti chiedo.. Prometto che non ti stresso più..

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • T
                                  thedarkita ModSenior • ultima modifica di

                                  Se invece di:

                                  
                                  <option>Seleziona il prodotto</option>
                                  
                                  

                                  Metti:

                                  
                                  <option value="">Seleziona il prodotto</option> 
                                  
                                  

                                  Funziona sicuramente.

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • P
                                    painless User • ultima modifica di

                                    :DDD Grazie mille... Vorrei averle io le tue conoscenze 😞

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • T
                                      thedarkita ModSenior • ultima modifica di

                                      Basta studiare, e tanta pratica... E chiunque può imparare.

                                      0 Miglior Risposta Ringrazia Cita Rispondi

                                        1 Risposta Ultima Risposta
                                      • P
                                        painless User • ultima modifica di

                                        Scusami ancora.. Una cosa che ho visto e che quando non compili un campo.. non ti è possibile tornare indietro per compilare quel campo mancante.. o.o come si può fare?

                                        0 Miglior Risposta Ringrazia Cita Rispondi

                                          1 Risposta Ultima Risposta
                                        • T
                                          thedarkita ModSenior • ultima modifica di

                                          La soluzione più veloce è questa:
                                          [php]
                                          if(!isset($_POST["nome"]) || $_POST["nome"] == '')
                                          {
                                          $err = true;
                                          echo 'Nome mancante<br>';
                                          }
                                          if(!isset($_POST["cognome"]) || $_POST["cognome"] == '')
                                          {
                                          $err = true;
                                          echo 'Cognome mancante<br>';
                                          }
                                          if(!isset($_POST["indirizzo"]) || $_POST["indirizzo"] == '')
                                          {
                                          $err = true;
                                          echo 'Indirizzo mancante<br>';
                                          }
                                          if(!isset($_POST["tel"]) || $_POST["tel"] == '')
                                          {
                                          $err = true;
                                          echo 'Tel mancante<br>';
                                          }
                                          if(!isset($_POST["mail"]) || $_POST["mail"] == '')
                                          {
                                          $err = true;
                                          echo 'Mail mancante<br>';
                                          }
                                          if(!isset($_POST["prodotto"]) || $_POST["prodotto"] == '')
                                          {
                                          $err = true;
                                          echo 'Seleziona il Prodotto<br>';
                                          }
                                          if(isset($err))
                                          die('<a href="javascript:history.back()">Torna indietro</a>');
                                          [/php]

                                          0 Miglior Risposta Ringrazia Cita Rispondi

                                            1 Risposta Ultima Risposta
                                          • P
                                            painless User • ultima modifica di

                                            E nel caso in cui volessi che il messaggio mail inviata o errore mail.. comparisse come per l'errore del campo vuoto.. ovvero con il form che scompare come devo fare.. qui il codice di quel punto.

                                            [PHP] // INVIO DELLA MAIL
                                            if(@mail($to, $subject, $body, $headers)) { // SE L'INOLTRO E' ANDATO A BUON FINE...

                                            echo "<div style="text-align:center;width:160px;color:#00ff00;margin:0" align="center"><b>"."MAIL INOLTRATA."."</b></div>";

                                            }

                                            else {// ALTRIMENTI...

                                            echo "<div style="text-align:center;width:160px;color:red;margin:0" align="center"><b>"."ERRORE MAIL."."</b></div>";

                                            } [/PHP]

                                            0 Miglior Risposta Ringrazia Cita Rispondi

                                              1 Risposta Ultima Risposta
                                            Caricamento altri post
                                            Rispondi
                                            • Topic risposta
                                            Effettua l'accesso per rispondere
                                            • Da Vecchi a Nuovi
                                            • Da Nuovi a Vecchi
                                            • Più Voti