Visualizzazione risultati 1 fino 7 di 7

Discussione: mail php

  1. #1
    Guest

    Predefinito mail php

    ciao a tutti. sono nuovo della programmazione php...comunque mi sono scritto questo codice che nonostante tutto funziona a dovere. l'unico problema è che non voglio più visualizzare i messaggi di errore oppure di avvenuto invio della mail. come posso fare? grazie mille.
    qui di seguito il codice php:

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Documento senza titolo</title>
    </head>

    <body>
    <?php
    // indirizzo di chi riceve la mail è sottolineato ma nel codice non sottilineatelo
    if ((trim($_POST['object']) != "") && (trim($_POST['body']) != "")) { //questo fa si che se i campi "oggetto" e "messaggio" sono vuoti la form non invia nessuna mail
    $to = " \n [email]mail@dominio.com[/email] ";
    $headers = "From: " . $_POST['mail'] . "\n";
    // soggetto della mail
    $subject = "Modulo proveniente da www.miosito.com";

    // corpo messaggio
    $body = "Contenuto del modulo:\n\n\n\n";

    $body .= "Inviata da: " . trim(stripslashes($_POST["mail"])) . "\n"; //indirizzo e-mail che manda la mail, come si vede riprende l'id del campo destinato all'inserimento della mail del mittente

    $body .= "Nome: " . trim(stripslashes($_POST["name"])) . "\n"; //nome del mittente
    $body .= "Città: " . trim(stripslashes($_POST["citta"])) . "\n"; //nome della tua città
    $body .= "Oggetto: " . trim(stripslashes($_POST["object"])) . "\n"; //oggetto del messaggio
    $body .= "testo: " . trim(stripslashes($_POST["body"])) . "\n"; //messaggio


    // invio mail
    mail($to, $subject, $body, $headers);

    // se la mail è stata inviata...

    echo "LA MAIL E' STATA INVIATA CON SUCCESSO. GRAZIE PER AVERMI CONTATTATO";

    } else {
    //altrimenti

    echo "ATTENZIONE !! DEVI COMPILATE TUTTI I CAMPI DEL FORM PRIMA DI INVIARE LA MAIL";

    }
    ?>

    </body>
    </html>
    Ultima modifica di saitfainder : 31-03-2011 alle ore 10.33.01

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Basta cancellare o commentare le righe, no?


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    Guest

    Predefinito

    Ciao Saitfainder, hai ragione...il problema non è tanto quello. il fatto è che mi apre comunque una fastidiosa pagina bianca nel caso cancello il contenuto della funzione echo oppure sempre la stessa fastidiosa pagina bianca con messaggio...
    Mi puoi aiutare?
    Grazie.

    ------

    Allego qui sotto il codice html della pagina del form:

    Codice HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Documento senza titolo</title>
    <style type="text/css">
    <!--
    body {
    	margin-left: 150px;
    	margin-top: 70px;
    	background-color: #000;
    }
    body,td,th {
    	color: #FFF;
    }
    -->
    </style></head>
    
    <body>
     <form action="invio.php" method="post" id="modulo">
     <table>
      <tr>
      <td>Nome*  </td>
       <td><label>
      <input name="name" type="text" id="nome" size="40" />
      </label></td>
      </tr>
        <tr>
      <td>La tua città*  </td>
       <td><label>
      <input name="citta" type="text" id="citta" size="40" />
      </label></td>
      </tr>
      <tr>
      <td>Il tuo indirizzo e-mail*  </td>
       <td><label>
      <input name="mail" type="text" id="mail" size="40" />
      </label></td>
      </tr>
      <tr>
      <td>Oggetto*  </td>
      <td><label>
      <input name="object" type="text" id="object" size="40" />
      </label></td>
      </tr>
      <tr>
       <td>Messaggio*  </td>
       <td>
       <textarea name="body" cols="38" rows="10" id="body"></textarea>
      </td>
      </tr>
      <tr>
      <td><label></label>
      </td>
      <td><label>
    <input type="submit" name="submit" id="submit" value="Invia" /> <input type="reset" name="cancella" id="cancella" value="Ripristina" />
      </label></td>
      </tr>
      </table>
      </form> 
    </body>
    </html>
    Ultima modifica di andreafallico : 31-03-2011 alle ore 17.41.08 Motivo: usa il tasto Edita

  4. #4
    tiberistefano non è connesso Utente
    Data registrazione
    28-01-2011
    Messaggi
    125

    Predefinito

    ciao,
    sono nuovo anche io di php, ma penso di poter azzardare una riposta.
    Il fatto e' che se togli gli echo il programma termina con l'elaborazione del programma invio.php e quindi non ti riporta nulla sulla pagina (e di conseguenza la pagina e' bianca)
    puoi provare a risolvere il problema puntanto ad una nuova pagina con il comando header("location")

    togli gli echo ed aggiungi una riga come questa:

    header("Location: http://tiberistefano.altervista.org");

    puoi inserire al posto dell'indirizzo anche solo il nome della pagina a cui deve puntare

    esempio:
    header("Location: /pagina.html");

  5. #5
    Guest

    Predefinito

    Ciao Tiberistefano.
    Ok ora ci provo poi ti faccio sapere..
    Grazie mille..

    ----

    Ciao TiberiStefano..
    niente non funziona lo stesso...mi restituisce sempre una pagina bianca
    Ultima modifica di andreafallico : 31-03-2011 alle ore 17.41.45 Motivo: usa il tasto Edita

  6. #6
    tiberistefano non è connesso Utente
    Data registrazione
    28-01-2011
    Messaggi
    125

    Predefinito

    Strano a me funziona,
    prova a inserire questo codice da mail() in poi:

    Codice PHP:
    mail($to, $subject, $body, $headers);

    // se la mail è stata inviata...

    // echo "LA MAIL E' STATA INVIATA CON SUCCESSO. GRAZIE PER AVERMI CONTATTATO";
    header("Location: http://tiberistefano.altervista.org");


    } else {
    //altrimenti
    header("Location: http://guestbook.tiberistefano.altervista.org");


    // echo "ATTENZIONE !! DEVI COMPILATE TUTTI I CAMPI DEL FORM PRIMA DI INVIARE LA MAIL";

    }
    ?>
    logicamente puoi cambiare le pagine contenute in location, basta che siano due pagine una differente dall'altra.
    Ultima modifica di andreafallico : 31-03-2011 alle ore 17.50.16 Motivo: + tag php

  7. #7
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Citazione Originalmente inviato da icoloridellago Visualizza messaggio
    Ciao TiberiStefano..
    niente non funziona lo stesso...mi restituisce sempre una pagina bianca
    Incollaci il codice della pagina modificata.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


Regole di scrittura

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