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. danielino81
    3. Post
    D

    danielino81

    @danielino81

    • Profilo
    • Chi segue 0
    • Da chi è seguito 0
    • Discussioni 2
    • Post 2
    • Migliore 0
    • Gruppi 0
    Iscrizione Ultimo Accesso
    Età 17
    0
    Reputazione
    2
    Post
    0
    Visite al profilo
    0
    Da chi è seguito
    0
    Chi segue
    User Newbie

    Post creati da danielino81

    • Problema form php

      Salve a tutti!Vi chiedo cortesemente un grande favore,non essendo esperto di php.
      Devo creare un form mail che abbia i campi obbligatori e che permetta anche di allegare un file (qualsiasi).
      Il suo contenuto deve essere più o meno così :
      Nome*
      Cognome*
      Mail*
      Città
      Telefono*
      Codice fiscale*
      Partita Iva*
      Allega file*

      *= campi obbligatori

      Ho provato molti script, ma con molti script se inserisco l'allegato mi arrivano per email anche tutti i dati nome, cognome, mail, citta', mentre se non inserisco allegato l'email mi arriva vuota.
      Io voglio che anche non inserendo l'allegato l'email venga vista correttamente con tutti i suoi dati.
      E' possibile?

      Vi posto il codice php che ho utilizzato

      <?php 
       
      $to= "mia email"; 
      $nome=$_POST['nome']; 
      $cognome=$_POST['cognome']; 
      $oggetto=$_POST['oggetto']; 
      $mail=$_POST['mail']; 
      $citta=$_POST['citta']; 
      $telefono=$_POST['telefono']; 
      $codice_fiscale=$_POST['codice_fiscale']; 
      $p_iva=$_POST['p_iva']; 
       
      $messaggio=' 
       
      Nome : 
      '.$nome.' 
       
      Cognome : 
      '.$cognome.' 
       
      Oggetto : 
      '.$oggetto.' 
       
      Mail : 
      '.$mail.' 
       
      Città : 
      '.$citta.' 
       
      Telefono : 
      '.$telefono.' 
       
      Codice Fiscale : 
      '.$codice_fiscale.' 
       
      p_iva : 
      '.$p_iva.' 
       
      '; 
       
      $allegato = $_FILES['allegato']['tmp_name']; 
      $allegato_type = $_FILES['allegato']['type']; 
      $allegato_name = $_FILES['allegato']['name']; 
       
      $headers = "From: " . $mail; 
      $msg = ""; 
       
      if (is_uploaded_file($allegato)) 
      { 
      $file = fopen($allegato,'rb'); 
      $data = fread($file, filesize($allegato)); 
      fclose($file); 
      $data = chunk_split(base64_encode($data)); 
      $semi_rand = md5(time()); 
      $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; 
       
      $headers .= "\nMIME-Version: 1.0\n"; 
      $headers .= "Content-Type: multipart/mixed;\n"; 
      $headers .= " boundary=\"{$mime_boundary}\""; 
      $msg .= "This is a multi-part message in MIME format.\n\n"; 
      $msg .= "--{$mime_boundary}\n"; 
       
       
      $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; 
      $msg .= "Content-Transfer-Encoding: 7bit\n\n"; 
      $msg .= $messaggio . "\n\n"; 
      $msg .= "--{$mime_boundary}\n"; 
       
      $msg .= "Content-Disposition: attachment;\n"; 
      $msg .= " filename=\"{$allegato_name}\"\n"; 
      $msg .= "Content-Transfer-Encoding: base64\n\n"; 
      $msg .= $data . "\n\n"; 
       
      $msg .= "--{$mime_boundary}--\n"; 
      } 
      else 
      { 
      echo "<p>Errore!</p>"; 
      } 
       
       
      if (mail($to, $oggetto, $msg, $headers)) 
      { 
      echo "<p>Mail inviata con successo!</p>"; 
      }else{ 
      echo "<p>Errore!</p>"; 
      } 
      ?> 
      

      il file form.html è questo

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""> 
      <html xmlns=""> 
      <head> 
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
      <title>Form mail</title> 
       
      <script type="text/javascript" language="javascript"> 
      function valida(){ 
      if (!confirm('Confermi i dati inseriti?')) return false; 
       
      if (document.getElementById('nome').value=='') { 
      alert('Compilare correttamente il campo Nome!'); 
      document.getElementById('nome').focus(); 
      return false; 
      } 
       
      if (document.getElementById('cognome').value=='') { 
      alert('Compilare correttamente il campo Cognome!'); 
      document.getElementById('cognome').focus(); 
      return false; 
      } 
       
      if (document.getElementById('mail').value=='') { 
      alert('Compilare correttamente il campo Mail!'); 
      document.getElementById('mail').focus(); 
      return false; 
      } 
       
      if (document.getElementById('citta').value=='') { 
      alert('Compilare correttamente il campo Città!'); 
      document.getElementById('citta').focus(); 
      return false; 
      } 
       
      if (document.getElementById('telefono').value=='') { 
      alert('Compilare correttamente il campo Telefono!'); 
      document.getElementById('telefono').focus(); 
      return false; 
      } 
       
      if (document.getElementById('codice_fiscale').value=='') { 
      alert('Compilare correttamente il campo Codice_fiscale!'); 
      document.getElementById('codice_fiscale').focus(); 
      return false; 
      } 
       
      if (document.getElementById('p_iva').value=='') { 
      alert('Compilare correttamente il campo P_iva!'); 
      document.getElementById('p_iva').focus(); 
      return false; 
      } 
       
       
      return true; 
      }//valida 
      </script> 
       
      </head> 
       
      <body> 
      <form action="invio.php" method="post" enctype="multipart/form-data" onsubmit="return valida();"> 
      <input type="hidden" name="destinatario" value="emailmia"> 
      <table align="center" width="600" cellpadding="2" cellspacing="2"> 
      <tr> 
      <td>Nome *</td> 
      <td><input type="text" name="nome" id="nome" size="30" maxlength="100" /></td> 
      </tr> 
      <tr> 
      <td>Cognome *</td> 
      <td><input type="text" name="cognome" id="cognome" size="30" maxlength="100" /></td> 
      </tr> 
      <tr> 
      <td>Oggetto</td> 
      <td><input name="oggetto" type="text" id="oggetto" value="oggetto" size="30" maxlength="100" /></td> 
      </tr> 
      <tr> 
      <td>Mail *</td> 
      <td><input type="text" name="mail" id="mail" size="30" maxlength="100" /></td> 
      </tr> 
      <tr> 
      <td>Città *</td> 
      <td><input type="text" name="citta" id="citta" size="30" maxlength="100" /></td> 
      </tr> 
      <tr> 
      <td>Telefono *</td> 
      <td><input type="text" name="telefono" id="telefono" size="30" maxlength="100" /></td> 
      </tr> 
      <tr> 
      <td>Codice fiscale *</td> 
      <td><input type="text" name="codice_fiscale" id="codice_fiscale" size="30" maxlength="100" /></td> 
      </tr> 
      <tr> 
      <td>P iva *</td> 
      <td><input type="text" name="p_iva" id="p_iva" size="30" maxlength="100" /></td> 
      </tr> 
      <tr> 
      <td>Allegato *<br /> 
      </td> 
      <td><input type="file" name="allegato" id="allegato" /></td> 
      </tr> 
      </table> 
      <div align="center"> 
      <input type="submit" value="Invia dati" /> 
      </div> 
      </form> 
      </body> 
      </html>
      
      

      Il problema è che se io mando la mail con allegato allora vedo sia l'allegato inserito sia i dati inseriti, se invece invio senza allegato la mail che arriva è completamente vuota.
      Potete aiutarmi gentilmente?
      Mi spiego meglio:
      Io voglio che sia con allegato sia senza allegato, i dati inseriti arrivino correttamente quando ricevo la mail. Attualmente cosi come è ricevo i dati SOLO se viene inserito l'allegato.
      Potete aiutarmi?

      postato in Coding
      D
      danielino81
    • Ciao

      Ciao a tutti!
      Un saluto dalla splendida toscana.

      Daniele

      postato in Presentati alla Community
      D
      danielino81