Visualizzazione risultati 1 fino 6 di 6

Discussione: Creazione form invio email

  1. #1
    Guest

    Predefinito Creazione form invio email

    Ciao a tutti non riesco a realizzare un form per l'invio di un'e-mail direttamente dal sito (sarà che sono negato con il php).

    Caratteristiche:
    - Campi che deve avere -> Nome, Email, Sito web band, Myspace band, messaggio aggiuntivo;
    - Destinatario -> un unico indirizzo email;
    - Dopo l'invio, visualizzazione di una pagina che riporta che il messaggio è stato inviato e/o che c'è stato un errore e di riprovare;
    - Dopo quella pagina redirect su una pagina definita.

    Questo è il mio form in HTML

    Codice HTML:
    <form action="mail.php" method="POST">
    <p>Nome<br>
    <input type="text" name="nome"></p>
    <p>E-mail (a cui verrà inviata la conferma dell'avvenuta pubblicazione)<br>
    <input type="text" name="nome"></p>
    <p>Nome band<br>
    <input type="text" name="nomeband"></p>
    <p>Indirizzo sito web della band (compreso di http://)<br>
    <input type="text" name="sito"></p>
    <p>Indirizzo sito web della band (compreso di http://)<br>
    <input type="text" name="myspace"></p>
    <p>Messaggio opzionale<br>
    <textarea rows="10" cols="50" name="note"></textarea></p>
    <input type="submit" value="Invia" name="send">
    <input type="reset" value="Resetta i campi">
    </form>
    Chi mi da una mano?
    Ultima modifica di freakypeppers : 09-08-2010 alle ore 15.02.21

  2. #2
    Guest

    Predefinito

    Farti tutto il lavoro non riesco ma se vuoi puoi adattarti questo script. (Nell'arco di tre giorni questo è il secondo script fatto con sudore che regalo xD):

    Non chiedermi di spiegartelo perchè grazie ad alcuni impegni recenti non riesco a dedicare più di 5 minuti a questo forum.

    In realtà è uno snippet di una mia classe ma se lo adegui sei a posto.

    Codice PHP:
    ...

    public function
    SendRegistrationMail($Username, $Password, $Email, $ActivationCode) {
    $this->GetInfo('config.php');
    mail("$Username <$Email>", "Ciao $Username! Conferma la registrazione.", "$this->WebsiteName\n$this->WebsiteDescription\n$this->WebsiteUrl\n\n".
    "Ciao $Username,\n\nattraverso questa mail potrai portare a termine la registrazione al sito. Clicca sul link sottostante per completare la registrazione.\n\n".
    "$this->WebsiteUrl/index.php?acticode=$ActivationCode\n\nQuesti sono i dati con cui sei stato registrato:\n\nUsername: $Username;\nPassword: $Password;\n\nNon ".
    "perdere la password! Per motivi di sicurezza la tua password, prima di essere salvata nel database, è stata criptata. Se dovessi perderla contatta l'".
    "amministratore utilizzando il sito internet.", "From: $this->WebsiteName <$this->RegisterMail>");
    }

    ...
    Cambia i parametri della funzione e il testo e sei a posto. Poi cerca in internet "php funzione redirect" o "cambiare pagina php" o simili e dovresti trovare delle funzioni che se ne occupano.

    ATTENTO! Questa funzione non controlla il testo che gli passi e questo può diventare un bel problema se al posto del testo gli passi direttamente $_POST['note']! Potrebbe essere utilizzato da black hat hackers per vari scopi. Informati e controlla bene il testo che ti passano.

  3. #3
    Guest

    Predefinito

    Ciao,
    per non preoccuparti di tante cose ti consiglio di usare PHP Mailer.
    E' una classe open source che puoi scaricare liberamente dal sito ufficiale.
    La utilizzo per molti progetti lavorativi e per il momento non ho riscontrato problemi ;-)

    Come funziona
    Una volta scaricato il pacchetto dal sito ufficiale lo scompatti e lo pubblichi sul tuo spazio web su Altervista.
    Dopo crei la pagina "mail.php" in questo modo:

    Codice PHP:
    <?

    //recupero le variabili inviate tramite il form
    $v_nome = $_POST[nome];
    $v_email = $_POST[email];
    $v_band = $_POST[nomeband];
    $v_sito = $_POST[sito];
    $v_myspace = $_POST[myspace];
    $v_note = $_POST[note];

    //richiamo la classe
    require "phpmailer/class.phpmailer.php";

    //istanzio la classe
    $messaggio = new PHPmailer();
    $messaggio->IsSMTP();
    $messaggio->Host='Host SMTP';

    //creo le intestazione del messaggio
    $messaggio->From='info@mittente.it';
    $messaggio->AddAddress('info@destinatario.it');
    $messaggio->AddReplyTo('info@mittente.it');
    $messaggio->Subject='Messaggio dal sito.';
    $messaggio->Body=stripslashes('Nome: '.$v_nome.' Email: '.$v_email.' Nome Band: '.$v_band.' Sito: '.$v_sito.' 'MySpace: '.$v_myspace.' Note: '.$v_note);

    //invio e controllo
    if(!$messaggio->Send()){
    echo $messaggio->ErrorInfo;
    }else{
    echo '
    Email inviata correttamente!';
    }

    //chiudo la connessione
    $messaggio->SmtpClose();
    unset($messaggio);

    ?>
    Non ho testato quanto scritto, ma dovrebbe andare ... fammi sapere nel caso ...

    Ah, dimenticavo ... sulla tua form modifica il name del campo Email

  4. #4
    Guest

    Predefinito

    Grazie mille =) Mi sa che la userò anche io =)

  5. #5
    Guest

    Predefinito

    Fatemi sapere se avete riscontrato problemi ... su Altervista non l'ho mai testa, ma non dovrebbero esserci problemi ...

  6. #6
    Guest

    Predefinito

    Mi sa che non me ne ricorderò =S Speriamo di si

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •