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. help form invio mail
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • B
      beroz User • ultima modifica di

      ciao

      ho modificato il codice per vedere gli errori in questo modo:

      <?php
      ini_set('display_errors',1);
      error_reporting(E_ALL|E_STRICT);

      $to = $_POST['xxx@gmail.com'];
      $subject = "";
      $email = $_POST['messaggio'];
      $mailheaders = "From: " . $_POST['nome'] . " " . $_POST['cognome '] . " <> ";
      $mailheaders .= "Reply-To:" . $_POST['email_mittente'] . " ";
      echo "$subject , $email , $mailheaders";

      mail($to, $subject, $email, $mailheaders);
      ?>

      mi restituisce i seguenti errori:

      Notice: Undefined index:xxx @gmail.com in mailprova.php on line 13

      Notice: Undefined index: messaggio in mailprova.php on line 15

      Notice: Undefined index: nome in mailprova.php on line 16

      Notice: Undefined index: cognome in mailprova.php on line 16

      Notice: Undefined index: email_mittente in mailprova.php on line 17

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • marcocarrieri
        marcocarrieri ModSenior • ultima modifica di

        Intanto il $to... gli assegni una variabile post che di sicuro non puo essere un valore... ma il nome del'id o name che era presente nel form che manda informazioni a questa pagina... 🙂

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • B
          beroz User • ultima modifica di

          forse ho sbagliato e non ho capito
          ma io $to non ci dovrrebbe andare la mia mail?
          quella a cui deve arrivare il messaggio spedito dal form?

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • marcocarrieri
            marcocarrieri ModSenior • ultima modifica di

            Allora $to prima di tutto è una variabile.
            Concettualmente visto anche il nome, sicuramente ci va la tua mail, ma attenzione a come gli assegni il valore...

            $to = $_POST['xxx@gmail.com'];

            Se fai cosi stai dicendo di assegnare alla variabile $to il valore di una variabile di tipo POST (mandata cioè dal form di prima) il cui nome/id è xxx @ gmail.com, invece credo che tu, almeno in questa variabile, gli debba assegnare una stringa diretta.

            $to = "xxx@gmail.com";

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • B
              beroz User • ultima modifica di

              oraq è rimasto un solo errore

              Notice: Undefined index: cognome in mailprova.php on line 16
              , ddd , From: dd <> Reply-To:dd

              grazie mille!

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • marcocarrieri
                marcocarrieri ModSenior • ultima modifica di

                Vero!
                E che lo avevo anche scritto nome/id mannaggia. 🙂

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • marcocarrieri
                  marcocarrieri ModSenior • ultima modifica di

                  Mi sa che si tratta dello stesso tipo di errore, il nome della variabile POST deve avere lo stesso nome del campo name...

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • B
                    beroz User • ultima modifica di

                    si, c era uno spazio di troppo.

                    ora mi restituisce questo:

                    , ddd , From: dd dd <> Reply-To:dd

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • marcocarrieri
                      marcocarrieri ModSenior • ultima modifica di

                      Se è quello che ti aspetti allora va bene.... 🙂
                      Dipende da quello che hai scritto tu nei campi...

                      Attenzione qua nel forum ad iniziare le frasi con le lettere maiuscole...

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • B
                        beroz User • ultima modifica di

                        quello che mi restituisce è ok
                        ma la mail non la invia.

                        e se volessi che mi restituisse messaggio inviato?

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • B
                          beroz User • ultima modifica di

                          ho modificato lo script aggingendo un controllo di mail inviata o no

                          <?php

                          $to = "berozbox@gmail.com";
                          $subject = "";
                          $email = $_POST['messaggio'];
                          $mailheaders = "From: " . $_POST['nome'] . " " . $_POST['cognome'] . " <> ";
                          $mailheaders .= "Reply-To:" . $_POST['email_mittente'] . " ";

                          if(mail($to, $subject, $email, $mailheaders)){
                          print "mail inviata";
                          }
                          else{
                          print "mail NON inviata!";
                          }
                          ?>

                          solo che non la invia.
                          cosa potrebbe essere?

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • marcocarrieri
                            marcocarrieri ModSenior • ultima modifica di

                            Qua nel forum per postare il codice usa l'apposito pulsante, cosi risulta tutto piu leggibile.

                            Da dove stai provando a fare questi test?
                            Da in locale?
                            Da un sito in internet?

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • B
                              beroz User • ultima modifica di

                              certo, non mi ero accorto della sua esistenza.
                              lo sto provando da un server aruba.
                              ho provato a spedire una mail tramite il loro tool che fa vedere se il php.ini è configurato bene o meno e tutto funziona...
                              i file del form e dello script però non sono nella directory radice del sito.

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • marcocarrieri
                                marcocarrieri ModSenior • ultima modifica di

                                Forse è sbagliata la sintassi che usi.

                                Tu usi questa.
                                mail($to, $subject, $email, $mailheaders)

                                Mentre la sintassi giusta dovrebbe essere questa

                                $headers = 'From: tuamail' . "\r\n" .
                                    'X-Mailer: PHP/' . phpversion();
                                mail($to, $subject, $message, $headers);
                                
                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • B
                                  beroz User • ultima modifica di

                                  buongiorno!!!
                                  ho modificato lo script in questo modo:

                                  [PHP]
                                  <?php

                                  $to = "berozbox@gmail.com";
                                  $subject = "";
                                  $email = $_POST['messaggio'];
                                  $mailheaders = "From: " . $_POST['nome'] . " " . $_POST['cognome'] . " <> ";
                                  $mailheaders .= "Reply-To:" . $_POST['email_mittente'] . " ";

                                  if(
                                  $headers = 'From: MAIL ' . "\r\n" .
                                  'X-Mailer: PHP/' . phpversion();
                                  mail($to, $subject, $message, $headers);
                                  ){
                                  print "mail inviata";
                                  }
                                  else{
                                  print "mail NON inviata!";
                                  }
                                  ?>
                                  [/PHP]

                                  mi da questo errore:
                                  Parse error: syntax error, unexpected ';' on line 23

                                  poi non capisco questa riga di codice [PHP]$headers = 'From: MAIL ' . "\r\n" .[/PHP]
                                  poi spiegarmela?

                                  grazie mille

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  • marcocarrieri
                                    marcocarrieri ModSenior • ultima modifica di

                                    Attenzione alle maiuscole qua nel Forum. 🙂
                                    Purtroppo non vedo la riga 23... Ma credo si tratti dell'if...
                                    Porta fuori l'assegnazione dell'header che alla fine è una stringa.

                                    $headers = "From: MAIL \r\n X-Mailer: PHP/" . phpversion();

                                    Dove al posto della parola mail metti la tua effettiva mail.

                                    Questo dovrebbe far si che i sistemi antispam, buttino la mail generata da questa funzione nella cartella Spam.

                                    0 Miglior Risposta Ringrazia Cita Rispondi

                                      1 Risposta Ultima Risposta
                                    • M
                                      memic4 User Attivo • ultima modifica di

                                      Hai un errore nell'if..
                                      Quello che hai inserito nell'if non è una condizione.

                                      Fa cosi:
                                      [php]
                                      if( mail($to, $subject, $message, $headers) )
                                      {
                                      print "mail inviata";
                                      }[/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