• User Attivo

    form per contatti

    Ciao a tutti!
    Sto creando il mio sito e vorrei sapere come si crea un form per contatti.
    Ho gia la Grafica per il form quindi sto cercando di capire in che modo bisogna agire per renderla "attiva".
    che programma bisogna usare o meglio quale linguaggio?
    comprende quattro spazi in cui ci va; nome,cognome,oggetto,testo e infine un pulsante per inviare la mail.


  • ModSenior

  • User

    io ho sul mio sito un form contatti con un codice diverso in php.

    Il mio problema è ke avrei bisogno di mandare una stessa mail a piu' contatti in base all'oggetto. segue unico pezzo dove poter aggiungere i destinatari..non so km..ho provato un po' ma non funziona:

    [php]
    <?php

    //define project types and emails of persons in charge
    $reasons = array(
    "Von Casa Falco"=>"xxxxxx.xxx",
    "Vorrei maggiori informazioni sui Servizi"=>"xxxxxx.xxx",
    "Vorrei maggiori informazioni sulla Pensione"=>"xxxxxx.xxx",
    "Vorrei maggiori informazioni sull'Allevamento"=>"xxxxxx.xxx",
    "Vorrei maggiori informazioni sull'Addestramento"=>"xxxxxx.xxx",
    "Vorrei maggiori informazioni sui Mangimi"=>"xxxxxx.xxx",
    "Vorrei offrire dei servizi di collaborazione"=>"xxxxxx.xxx",
    "Vorrei dare dei suggerimenti per questo sito"=>"xxxxxx.xxx",
    "Altro"=>"xxxxxx.xxx"

    );

    //specify folder with templates, with backslash at the end
    $template_folder = './Templates/';

    //subject of email?
    $email_subject = 'Contatto dal sito';

    ?>
    [/php]

    premetto che così funziona benissimo, il punto è solo aggiungere i destinatari dopo xxxxxx.xxx


  • ModSenior

    Ciao BlueDragon89,

    Il codice hai postato non fa altro che dichiarare alcune variabili, dovresti postarlo tutto.
    E magari specificare meglio cosa vorresti che faccia, perchè non sono riuscito a capirlo. 🙂


  • User

    Allora ci sono tante pagine:

    pagina contact.php
    [php]
    <?php
    include('contact_settings.php');
    include('TemplateMailer.class.php');

    $temp = new TemplateMailer();

    $types = '';

    foreach ($reasons as $type => $mail) {
    $types .= "<option value="$type">$type</option>\n";
    }

    $temp->assign('reasons',$types);

    $disya = basename($_SERVER['PHP_SELF']);
    $disya = str_replace('.php','.tpl.html',$disya);
    $temp->assign("template_file",$disya);

    $temp->preparemail($template_folder . $disya);

    echo $temp->body;
    [/php]pagina contact_sent.php

    [php]
    <?php
    error_reporting(0);
    include('contact_settings.php');
    include('TemplateMailer.class.php');

    $temp = new TemplateMailer();

    function daj($msg) {
    global $template_folder,$temp;
    $temp->assign('errmsg',$msg);
    $temp->preparemail($template_folder . 'contact_error.tpl.html');
    die($temp->body);
    }

    $name = $_POST['name'];
    if (trim($name) == "") { daj("Attenzione! Il campo nome è obbligatorio"); }
    $company = $_POST['company'];
    if (trim($name) == "") { daj("Attenzione! Il campo cognome è obbligatorio"); }
    $email = $_POST['email'];
    if (trim($email) == "") { daj("Attenzione! Inserire un indirizzo email valido"); }
    $phone = $_POST['phone'];
    $reason = $_POST['reason'];
    $subj = $_POST['subject'];
    $description = $_POST['text'];
    if (trim($description) == "") { daj("Attenzione! Inserisci il testo del messaggio"); }

    $temp->assign('name',$name);
    $temp->assign('company',$company);
    $temp->assign('email',$email);
    $temp->assign('phone',$phone);
    $temp->assign('reason',$reason);
    $temp->assign('message',$description);

    $temp->preparemail($template_folder . 'contact_mail.tpl.html');
    $adresa = $reasons[$reason];

    $sent = $temp->send($email,$adresa,$email_subject.' '.$subj,'');

    if ($sent) {
    $disya = basename($_SERVER['PHP_SELF']);
    $disya = str_replace('.php','.tpl.html',$disya);
    $temp->assign("template_file",$disya);
    $temp->preparemail($template_folder . $disya);
    echo $temp->body;
    }
    else { daj("C'è stato un errore nell'invio del messaggio mail. Ti preghiamo di riprovare più tardi.<br>There was an error with sending e-mail message. Please try again later!"); }

    ?>
    [/php]E la pagina di configurazione che è la stessa del post precedente:
    (la riporto per completezza del post)

    [php]
    <?php

    //define project types and emails of persons in charge
    $reasons = array(
    "Von Casa Falco"=>"xxxxxx.xxx",
    "Vorrei maggiori informazioni sui Servizi"=>"xxxxxx.xxx",
    "Vorrei maggiori informazioni sulla Pensione"=>"xxxxxx.xxx",
    "Vorrei maggiori informazioni sull'Allevamento"=>"xxxxxx.xxx",
    "Vorrei maggiori informazioni sull'Addestramento"=>"xxxxxx.xxx",
    "Vorrei maggiori informazioni sui Mangimi"=>"xxxxxx.xxx",
    "Vorrei offrire dei servizi di collaborazione"=>"xxxxxx.xxx",
    "Vorrei dare dei suggerimenti per questo sito"=>"xxxxxx.xxx",
    "Altro"=>"xxxxxx.xxx"

    );

    //specify folder with templates, with backslash at the end
    $template_folder = './Templates/';

    //subject of email?
    $email_subject = 'Contatto dal sito';

    ?>
    [/php]Poi ci sono altre tre pagine che fanno da template però mi pare che per aggiungere i destinatari l'indispensabile sia solo quest'ultima pagina..

    Ditemi voi...

    Io ho provato in qualche modo tipo:
    [php]
    <?php
    $reasons = array(

    "Altro"=>"indirizzoxx.xxx","altro_indirizzoxx.xxx"

    ?>
    [/php]Ma non è così semplice a quanto pare..:gtsad:


  • User

    Nessuna idea?


  • ModSenior

    Ciao BlueDragon89,

    Ci sarebbe da vedere la classe che viene utilizzata.
    Sinceramente per quello che devi fare tu mi sembra più veloce adattare uno dei 2 script che avevo scritto sopra.


  • User

    image