Visualizzazione risultati 1 fino 5 di 5

Discussione: aiuto... form mail

  1. #1
    Guest

    Predefinito aiuto... form mail

    sarò scema ma non riesco a far funzionare il mio form mail: AIUTO!!!!!!

    ho creato un file HTML dove c'è il form:modulo.html
    Codice HTML:
    <html>
    <head>
    <title>modulo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <style type="text/css">
    <!--
    .Stile2 {color: #005166; font-weight: bold; }
    .Stile3 {color: #FF0000}
    .Style15 {font-size: 10pt}
    -->
    </style>
    </head>
    
    <body>
    <table width="798" border="0">
      <tr>
        <td colspan="2"><div align="center" class="Stile3"><strong>ATTENZIONE: il modulo d'ordine non &egrave; ancora attivo </strong></div></td>
      </tr>
      <tr>
        <td colspan="2"><div align="center"><span class="Stile2">modulo d'ordine </span></div></td>
      </tr>
      <tr valign="top">
        <td width="520" rowspan="23"><table width="479" border="0" align="right" cellpadding="0" cellspacing="0">
            <form action="elabora_form.php" method="post" name="timbri">
              <input type="hidden" name="_DEST" value="liantonio.edad@libero.it" />
              <input type="hidden" name="_SUBJ" value="timbri" />
              <input type="hidden" name="cc" value="liantoniom@virgilio.it" />
              <tr bgcolor="#005166">
                <td colspan="2" valign="top" align="left" class="alter"><span style="font-size:8pt; font-family:verdana; color:#ffffff;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Style15">* Dati obbligatori</span></span> </td>
              </tr>
              <tr>
                <td colspan="2">&nbsp;</td>
              </tr>
              <tr>
                <td width="156" align="right" valign="top" class="alter">&nbsp;&nbsp;<span style="font-size:8pt; font-family:verdana; color:#000000;"><b><span class="Stile3">*</span>Nome</b>:</span></td>
                <td align="left" valign="top">&nbsp;&nbsp;
                  <input name="Nome" type="text" id="nome" style="background-color: #ECECEC; color: #0021D6; font-size: 10px; " value="" size="30" maxlength="30" /> 
                  <span class="alter"><span style="font-size:8pt; font-family:verdana; color:#000000;"><b>Azienda</b></span></span> 
                </td>
              </tr>
              <tr>
                <td align="right" valign="top" class="alter"><span style="font-size:8pt; font-family:verdana; color:#000000;">&nbsp;&nbsp;<b><span class="Stile3">*</span>Cognome</b>:</span></td>
                <td align="left"  valign="top">&nbsp;&nbsp;
                  <input name="Cognome" type="text" id="cognome" style="background-color: #ECECEC; color: #0021D6; font-size: 10px; " value="" size="30" maxlength="30" /> 
                  <span class="alter"><span style="font-size:8pt; font-family:verdana; color:#000000;"><b>Ragione Sociale</b></span></span>
                </td>
    ecc.ecc con tutto il form

    poi ho creato un file php: elabora_form.php
    Codice PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>
    <?php
    $oggi
    = date("j F Y G:i");
    $sito = "liantonio";
    $ip = "$_SERVER[REMOTE_ADDR]";
    $browser = "$_SERVER[HTTP_USER_AGENT]";
    $to = "liantonio.edad@libero.it";
    $soggetto = "Contatto dal $sito";
    if(
    trim($_POST['nome']) == "" OR trim($_POST['email']) == "" OR trim($_POST['messaggio']) == "") {
    echo
    "<font color=\"#FF0000\" face=\"comic sans ms\" size=\"2\"><strong>Tutti i campi sono obbligatori</strong></font>";
    }
    else {
    $body = "Modulo inviato il $oggi da $ip - $browser \n\n";
    $body .= "nNome: $_POST[nome] \ncognome: $_POST[cognome] \nEmail: $_POST[email] \nIndirizzo: $_POST[indirizzo] \nCitta: $_POST[citta] \nMessaggio: $_POST[messaggio]";
    mail("$to","$soggetto","$body");
    }
    echo
    "nome: $nome <br>";
    echo
    "cognome: $cognome <br>";
    echo
    "email: $email <br>";
    echo
    "indirizzo: $indirizzo <br>";
    echo
    "citta: $citta <br>";
    echo
    "provincia: $provincia <br>";
    echo
    "cap: $cap <br>";
    echo
    "tel: $tel <br>";
    echo
    "piva: $piva <br>";
    echo
    "tipo: $tipo <br>";
    echo
    "dimensione: $dimensione <br>";
    echo
    "tondo: $tondo <br>";
    echo
    "dimensione: $dimensione <br>";
    echo
    "quantita: $quantita <br>";
    echo
    "testo: $testo <br>";
    echo
    "file: $file <br>";
    echo
    "commenti: $commenti";
    ?>
    </body>
    </html>
    il tutto mi restituisce una pagina con l'elenco dei campi che ho inserito nel modello, ma non compilato, e l'email al mio indirizzo non arriva.
    MI SPIEGATE DOV'è L'ERRORE? SONO DUE GIORNI CHE CI PROVO MA NON CI RIESCO
    GRAZIE TANTE

    [DS] Usa i tag di codice, soprattutto quando ne riporti ampi stralci: si legge meglio e non esce un post kilometrico...
    Ultima modifica di dementialsite : 10-02-2007 alle ore 10.49.17

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Un po' di errori li ho visti:

    1. Quando usi dei campi presi dal modulo o da array di sistema (vedo che hai usato anche $_SERVER), la sintassi corretta è $_POST['chiave'], dove chiave è il nome del campo che usi nel modulo.
    2. Oltre a questo, quando devi ricopiare queste variabili in nomi più semplici e non aggiungere altro (come hai fatto in $ip = "$_SERVER[REMOTE_ADDR]";), non è necessario chiuderle tra doppi apici: PHP si arrangia da solo a scriverla come stringa. Correggi quindi queste righe così: $ip = $_SERVER['REMOTE_ADDR'];
    3. Stessa cosa dicasi per ripetere variabili che hai già calcolato come stringa: puoi pure scrivere mail($to, $soggetto, $body); invece di mail("$to","$soggetto","$body");
    4. Se queste variabili invece le devi concatenare a delle stringhe, la sintassi corretta è chiudere array e chiave dentro le parentesi graffe, così:
    Codice:
        $body .= "nNome: {$_POST['nome']} \ncognome: {$_POST['cognome']} ...";
    5. Infine, ricorda che PHP è un linguaggio case-sensitive, cioè fa distinzione tra maiuscole e minuscole: tu vedi i campi vuoti perché nel modulo definisci gli attributi NAME con le maiuscole (Nome, Cognome, da quel che vedo), mentre nel codice PHP cerchi dei campi con iniziali minuscole ($nome, $cognome, etc.). Correggi (nel modulo o nel codice) questa incorrispondenza.

    Prova a sistemare queste cose per prime, poi vedremo di pensare al resto...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    Guest

    Predefinito

    grazie dementialsite
    ora procedo con i tuoi consigli
    grazie


    EDIT: allora, io ho fatto come dicevi tu, modificando il file php ma....... esce: Parse error: syntax error, unexpected ':' in /membri/liantonio/elabora_form.php on line 21.
    quindi che devo fare?
    l'ho modificato in questo modo:

    Codice PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>
    <?php
    $oggi
    = date("j F Y G:i");
    $sito = "liantonio";
    $ip = $_SERVER['REMOTE_ADDR'];
    $browser = $_SERVER['HTTP_USER_AGENT'];
    $to = "liantonio.edad@libero.it";
    $soggetto = "Contatto dal $sito";
    if(
    trim($_POST['nome']) == "" OR trim($_POST['email']) == "" OR trim($_POST['messaggio']) == "") {
    echo
    "<font color=\"#FF0000\" face=\"comic sans ms\" size=\"2\"><strong>Tutti i campi sono obbligatori</strong></font>";
    }
    else {
    $body = "Modulo inviato il $oggi da $ip - $browser \n\n";
    $body .= nNome: $_POST['Nome'] \ncognome: $_POST['Cognome'] \nEmail: $_POST['email'] \nIndirizzo: $_POST['Indirizzo'] \nCitta: $_POST['Citta'] \nProvincia: $_POST['Provincia'] \nCap: $_POST['Cap'] \nTel: $_POST['Tel'] \nPIVA: $_POST['PIVA'] \nTipo: $_POST['tipo'] \nGrandezzaa: $_POST['Grandezza'] \nTondo: $_POST['tondo'] \nDimensione: $_POST['dimensione'] \nQuantita: $_POST['quantità'] \nTesto: $_POST['TESTO'] \nCommenti: $_POST['COMMENTI'];
    mail($to,$soggetto,$body);
    }
    echo
    "nome: $Nome <br>";
    echo
    "cognome: $Cognome <br>";
    echo
    "email: $email <br>";
    echo
    "indirizzo: $Indirizzo <br>";
    echo
    "citta: $Citta <br>";
    echo
    "provincia: $Provincia <br>";
    echo
    "cap: $Cap <br>";
    echo
    "tel: $Tel <br>";
    echo
    "piva: $PIVA <br>";
    echo
    "tipo: $tipo <br>";
    echo
    "grandezza: $Grandezza <br>";
    echo
    "tondo: $tondo <br>";
    echo
    "dimensione: $dimensione <br>";
    echo
    "quantita: $quantita <br>";
    echo
    "testo: $TESTO <br>";
    echo
    "file: $file <br>";
    echo
    "commenti: $COMMENTI";
    ?>
    </body>
    </html>

    avete qualche altro suggerimento?
    Ultima modifica di funcool : 20-02-2007 alle ore 10.33.58

  4. #4
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Non hai seguito tutti i consigli di dementialsite, rileggi il punto 4.

  5. #5
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Se le ho contate bene, la riga 21 è questa ed è decisamente sbagliata:
    Codice:
        $body .= nNome: $_POST['Nome'] ncognome: $_POST['Cognome'] nEmail: $_POST['email'] nIndirizzo: $_POST['Indirizzo'] nCitta: $_POST['Citta'] nProvincia: $_POST['Provincia'] nCap: $_POST['Cap'] nTel: $_POST['Tel'] nPIVA: $_POST['PIVA'] nTipo: $_POST['tipo'] nGrandezzaa: $_POST['Grandezza'] nTondo: $_POST['tondo'] nDimensione: $_POST['dimensione'] nQuantita: $_POST['quantità'] nTesto: $_POST['TESTO'] nCommenti: $_POST['COMMENTI'];
    La devi riscrivere in questo modo, come peraltro suggerito anche sopra:
    Codice:
        $body .= "nNome: {$_POST['Nome']} ncognome: {$_POST['Cognome']} nEmail: {$_POST['email']} nIndirizzo: {$_POST['Indirizzo']} nCitta: {$_POST['Citta']} nProvincia: {$_POST['Provincia']} nCap: {$_POST['Cap']} nTel: {$_POST['Tel']} nPIVA: {$_POST['PIVA']} nTipo: {$_POST['tipo']} nGrandezzaa: {$_POST['Grandezza']} nTondo: {$_POST['tondo']} nDimensione: {$_POST['dimensione']} nQuantita: {$_POST['quantità']} nTesto: {$_POST['TESTO']} nCommenti: {$_POST['COMMENTI']}";
    Non avevi aggiunto le parentesi graffe e le virgolette necessarie per trattare il tutto come una stringa...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

Regole di scrittura

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