Visualizzazione risultati 1 fino 9 di 9

Discussione: AIUTO! Script PHP per mail...

  1. #1
    Guest

    Predefinito

    Ciao a tutti!!!

    Dunque dunque...da bravo incompetente di linguaggi informatici mi sono infangato nel tentativo di creare un form x spedire mail dal mio sito...e cerca che ti cerca ho scoperto che esiste la funzione mail() che fa proprio al caso mio! :)

    Il fatto è che vorrei far spedire mail che arrivino al mio indirizzo contenenti tra varie cose nel corpo del messaggio il nome della persona (inserito in un apposito campo).

    Questo è un succinto esempio di quello che ho scritto...e che il programma che uso mi segnala però come errore...non so dove...

    [code:1:f9cec22a68]<?php

    $messaggio='
    <html>
    <head></head>
    <body>
    <p><? echo $HTTP_POST_VARS['nome']; ?></p>
    <p>ti ha spedito una mail</p>
    </body></html> ';

    mail ("mia@mail.it", "Oggetto", $messaggio, "From: Cirschizzo");

    ?>[/code:1:f9cec22a68]
    Qualcuno sa dirmi cosa ho scritto di sbagliato?

  2. #2
    Guest

    Predefinito

    Citazione Originalmente inviato da Cirschizzo
    Ciao a tutti!!!

    Dunque dunque...da bravo incompetente di linguaggi informatici mi sono infangato nel tentativo di creare un form x spedire mail dal mio sito...e cerca che ti cerca ho scoperto che esiste la funzione mail() che fa proprio al caso mio! :)

    Il fatto è che vorrei far spedire mail che arrivino al mio indirizzo contenenti tra varie cose nel corpo del messaggio il nome della persona (inserito in un apposito campo).

    Questo è un succinto esempio di quello che ho scritto...e che il programma che uso mi segnala però come errore...non so dove...

    [code:1:d0a5579b2e]<?php

    $messaggio='
    <html>
    <head></head>
    <body>
    <p><? echo $HTTP_POST_VARS['nome']; ?></p>
    <p>ti ha spedito una mail</p>
    </body></html> ';

    mail ("mia@mail.it", "Oggetto", $messaggio, "From: Cirschizzo");

    ?>[/code:1:d0a5579b2e]
    Qualcuno sa dirmi cosa ho scritto di sbagliato?
    correggi

    ci sono un bel po' di errori.. :D

    la funzione corretta potrebbe essere...

    <?php
    $localmail= "localhost";
    $oggetto = "oggetto";
    $messaggio = "ciao questa è una prova";
    mail($localmail, $oggetto, $messaggio);
    ?>

    naturalmente sarebbe meglio aggiungere un form per richiedere i dati come oggetto messaggio ... in modo da nn dover editare la pagina ogni volta....

    spero di nn aver sbagliato nulla.. :D

    ciao

  3. #3
    Guest

    Predefinito



    la settimana scorsa c'era qualche cosa che credo faccia proprio a caso tuo !!!!!

    se nn sbaglio era scritto da /rotulerotte prova a cercare la trovi di sicura !!!
    (faccio prima)


  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da Cirschizzo
    [code:1:36e3dfce81]<?php

    $messaggio='
    <html>
    <head></head>
    <body>
    <p><? echo $HTTP_POST_VARS['nome']; ?></p>
    <p>ti ha spedito una mail</p>
    </body></html> ';

    mail ("mia@mail.it", "Oggetto", $messaggio, "From: Cirschizzo");

    ?>[/code:1:36e3dfce81]
    Allora... innanzitutto ti consiglio di togliere tutti i tag HTML dal corpo del messaggio (che ti frega di mandarti una email in formato HTML? Non ti basta che sia di puro testo? :o )

    Per scrivere correttamente il codice, però, occorre sapere esattamente come hai strutturato il modulo. Supponendo che hai creato 4 campi:
    1) "oggetto" in cui scrivere l'oggetto del messaggio
    2) "messaggio" in cui scrivere il messaggio in sè
    3) "nome_mittente" in cui chi ti scrive mette il suo nome
    4) "indirizzo_mittente" in cui chi ti scrive mette il suo email

    forse così può funzionare:

    [code:1:36e3dfce81]<?php
    $oggetto = $HTTP_POST_VARS['oggetto'];
    $messaggio= $HTTP_POST_VARS['nome'] . ' ti ha spedito una mail';
    $nome_mittente= $HTTP_POST_VARS['nome_mittente'];
    $indirizzo_mittente= $HTTP_POST_VARS['indirizzo_mittente'];

    mail ("mia@mail.it", $oggetto, $messaggio, "From: $nome_mittente<$indirizzo_mittente>\r\n&quot ;);
    ?>[/code:1:36e3dfce81]

    Ho tolto i tag HTML, ma soprattutto c'era una doppia definizione di "PHP in PHP", ovvero eri già in PHP e hai scritto nuovamente <?, che equivale a <?PHP. Il codice da te inserito poteva funzionare in HTML, ovvero fuori dalla dichiarazione della variabile. Esempio:

    [code:1:36e3dfce81]<html>
    <head></head>
    <body>
    <p><? echo $HTTP_POST_VARS['nome']; ?></p>
    <p>ti ha spedito una mail</p>
    </body></html>[/code:1:36e3dfce81]

    ovvero, senza <?PHP all'inizio e ?> alla fine. Spero di essere stato d'aiuto :)

  5. #5
    Guest

    Predefinito

    Prima di tutto...GRAZIE A TUTTI!!!! :D

    Allora... innanzitutto ti consiglio di togliere tutti i tag HTML dal corpo del messaggio (che ti frega di mandarti una email in formato HTML? Non ti basta che sia di puro testo? )
    Il fatto è che mi piaceva impostare in un certo modo la pagina che arriva x posta (quello che vi ho scritto qui è il codice x la posta che arriva a me, ma volevo in altri posti anche mettere dei form in cui la persona che inserisce i dati riceva una mail di ringraziamento) tramite i tag html...
    Cmq il codice che mi hai scritto FUNZIONA alla perfezione!!!! :D

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da Cirschizzo
    Prima di tutto...GRAZIE A TUTTI!!!! :D

    Allora... innanzitutto ti consiglio di togliere tutti i tag HTML dal corpo del messaggio (che ti frega di mandarti una email in formato HTML? Non ti basta che sia di puro testo? )
    Il fatto è che mi piaceva impostare in un certo modo la pagina che arriva x posta (quello che vi ho scritto qui è il codice x la posta che arriva a me, ma volevo in altri posti anche mettere dei form in cui la persona che inserisce i dati riceva una mail di ringraziamento) tramite i tag html...
    Cmq il codice che mi hai scritto FUNZIONA alla perfezione!!!! :D
    Mi fa piacere che il codice funzioni :D

    Cmq non c'è problema nel preparare un'email in formato HTML (almeno credo... visto che non l'ho mai fatto!). Devi solo ricordare alcune cose:

    - nell'intestazione del messaggio devi riportare una cosa del tipo
    $intestazioni = "MIME-Version: 1.0\r\n";
    $intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";
    (attenzione ai \r\n ovvero ai codici per "andare a capo"). Nel caso non lo sapessi, l'intestazione è l'ultimo argomento della funzione mail( ), in cui nel precedente codice avevi messo "From: bla bla bla". Quindi devi concatenare le stringhe sopra a quella del mittente in modo da avere una $intestazione unica, o in forma esplicita ovvero $intestazione = $intestazione_MIME . $intestazione_tipo_documento . $intestazione_mittente
    oppure anche in forma implicita come più sopra, in cui definisci un primo "pezzo" di stringa con $intestazione = "quell che ti pare" e poi i pezzi successivi li aggiungi sempre a quelli precedenti tramite l'operatore .=
    Una volta definita la $intestazione usi la funzione

    mail($destinatario, $oggetto, $messaggio, $intestazione)

    - attenzione di nuovo agli /r/n e all'uso di virgolette ed apici. Sembrano cose banali, ma sono quelle che mi hanno dato più problemi quando mi sono trovato alle prese con la funzione mail( ) :x

    Per maggiori informazioni ti consiglio http://www.php.net/manual/it/function.mail.php (c'è anche la versione in italiano, ma come spesso accade nelle pagine di php.net sono quasi più interessanti i commenti degli utenti che non le pagine in sè)

    Ciao :D

  7. #7
    Guest

    Predefinito

    Ancora una volta grazie!!!!! :D

    Tutto pare funzionare al meglio!!! :D
    Tra qualche giorno lo metto sul sito!!!

    P.S.
    attenzione di nuovo agli /r/n e all'uso di virgolette ed apici. Sembrano cose banali, ma sono quelle che mi hanno dato più problemi
    ...dillo a me!!!

    Ciao...ciao...

  8. #8
    L'avatar di brunella
    brunella non è connesso AlterVistiano
    Data registrazione
    01-04-2003
    Residenza
    mondo
    Messaggi
    822

    Predefinito

    Cirschizzo, datti da fare a costruirlo, 'sto sito, che quando è completo ti appioppo subito un link :D
    ciao, rossa

    al mondo esistono 10 tipi di persone:
    quelli che conoscono il binario...
    e quelli che devono chiedere al capostazione!

  9. #9
    Guest

    Predefinito

    Cirschizzo, datti da fare a costruirlo, 'sto sito, che quando è completo ti appioppo subito un link
    Ne sarei onoratissimo!!! :D

Regole di scrittura

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