Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    45

    Script per form invio email

    Ciao a tutti
    premetto che non so niente di PHP ed il solo motivo per cui mi ritrovo in questo forum è perchè ho voluto dotare un sito, che sto costruendo in html5 e css3, di un form per la richiesta di contatti via email
    ho messo su l'html
    codice:
    <div class=" form1">       
    <form id=myform method="post" action="mail.php"> 
    <fieldset>   
    <legend><h4>Your request</h4></legend>   
    
    1. <label for=name>Name</label><input id=name name=name type=text placeholder="First and last name" required autofocus>
    2. <label for=email>Email</label><input id=email name=email type=email placeholder="example@domain.com" required>
    3. <label for=request>Request</label><textarea id=request name=request rows=4 required></textarea>
    </fieldset> <fieldset> <button value="Send" type=submit>Submit</button> </fieldset> </div> </form>
    poi ho trovato uno script semplicissimo da adattare, ma vista la mia ignoranza, mi risulta molto difficile capire come modificarlo

    Codice PHP:
    <?php 
    // Recupero dati da un possibile form contatti 
    $name $_POST['name']; 
    $email $_POST['email']; 
    $request $_POST['request']; 
     if(!
    $name || !$email || !$request){     
     
    // Modulo compilato in maniera errata... 
    }else{      
    // Preparo l'invio della email - Specifico indirizzo destinatario mail e l'indirizzo del mittente      $indirizzo="xxx@gmail.com";      
    $header="From:".$email;            
    // Formatto il testo della mail aggiungendo nome e cognome del mittente      
    $contenuto "Mail inviata da:".$nome." \n\rCorpo del messaggio:\n\r".$request;       

    // Invio la mail - mail(destinatario,oggetto,messaggio,intestazioni)      mail($indirizzo,$oggetto,$messaggio,$header);
     

    ?>
    qualcuno può darmi una mano?
    grazie fin da ora

    Paco

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2012
    residenza
    Lima, Perù
    Messaggi
    212
    il name del input corrisponde alla chiave del post

    <input type="text" id="name" name="name" /> => $_POST['name']


    come funziona mail lo capirai più facilmente qui
    Jamie Ynonan - Web Developer / Desarrollador Web - HTML5 - CSS3 - Javascript/jQuery - PHP/CodeIgniter/Laravel - SQL/MySQL - Wordpress
    Telelavoro / Teleworking - jamiea31[at]gmail.com - Lima - Perù - GMT -5

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    45
    grazie minos88, ma devo dire che ci ho capito poco
    ho cambiato anche il php

    Codice PHP:
    <?php //Valori presi dal form

    $name=$_POST[name];
    $email=$_POST[email]; 
    $content=$_POST[content];  

     
    //e-mail del destinatario. (inserire la propria mail) 
    $destinatario="onosendai8@gmail.com";   


    //script invio mail 

    mail($name,$email,$content); 

    print (
    "L'E-mail è stata inviata! grazie per averci contattato!"
    ?>
    ma continua a darmi errori alle righe 3-4-5

    codice:
    Notice: Use of undefined constant name - assumed 'name' in /home/freeside/public_html/mail.php on line 3  
    Notice: Use of undefined constant email - assumed 'email' in /home/freeside/public_html/mail.php on line 4  
    Notice: Use of undefined constant content - assumed 'content' in /home/freeside/public_html/mail.php on line 5 
    L'E-mail è stata inviata! grazie per averci contattato!
    tramite la variabile $_POST[nome elemento] si prendono i valori del form
    ora questi valori hanno
    input name=name
    input name=email
    input name= content

    ma il tuttonon funge.....dove sta l'errore?

  4. #4
    Devi usare le virgolette singole o doppie: $_POST['name'] o $_POST["name"]

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    45
    hai ragione pphhpp.....devo usarele virgolette.....
    adesso funziona ed ho anche il messsaggio di notifica su screen....
    quello che non ho è la notifica della email nella miacasella di posta.
    devo forse modificare il file php.ini sul server?

  6. #6
    La funzione mail deve avere anche un indirizzo dal quale è stata spedita la mail: "From:". Può essere settato come default nel file php.ini, oppure per non andare a scomodarti, puoi usare una funzione come questa:
    codice:
    #Spedisce una mail dal tuosito
     function sendmail($to,$oggetto,$messaggio)
    	{$header = "To: $to\n";
    	 $header .= "From: Tuosito Team <tuosito@gmail.com>\n";
    	 $header .= "X-Mailer: Php\n\n";
    	 mail($to,$oggetto,$messaggio,$header);
    	}
    Per tutte le opzioni guarda la documentazione http://php.net/manual/en/function.mail.php


  7. #7
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    45
    Graziea tutti ragazzi.... ho risolto sostituendo l'indirizzo email di google con quello datomi dal servizio hosting sul quale è ospitato il sito che sto ricostruendo......

    grazie di nuovo per l'aiuto


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.