Newsgroup: it.comp.www.php
Titolo: form e-mail

ciao ragazzi ho costruito un piccolo modulo form in html:
questo è il codice:
<form action="" method="post" name="formamail" id="formamail">
  <p>
    <input name="nome" type="text" id="nome">
  nome</p>
  <p>
    <input name="e-mail" type="text" id="e-mail">
e-mail  </p>
  <p>
    <textarea name="commenti" id="commenti"></textarea>
  commenti</p>
  <p>soffisfatto si
    <input name="si" type="radio" value="radiobutton">
    no
    <input name="no" type="radio" value="radiobutton">
</p>
  <p>interessi
    <select name="interessi" id="interessi">
      <option value="sport">sport</option>
      <option value="politica">politica</option>
      <option value="cinema">cinema</option>
    </select>
  </p>
  <p>
    <input name="invia" type="submit" id="invia" value="Invia">
</p>
</form>
partendo dal fatto che la mia conoscenza di php è quasi 0 e che sto
utilizzando dreamweaver,
qualcuno mi saprebbe dire come mandare le informazioni del form alla mia
e-mail:
so che devo costruire una pagina php e che tramite il metodo post nel form
htm devo mandare questi valori ad una pagina php.
qualcno può ha uno script universale per formattare qualsiasi informazione
del form htm e poi mandarlo via e-mail senza utilizzare programmi di posta
grazie mille assai
marco

marco wrote:

==
-
http://www.hotscripts.com/cgi-bin/search.cgi?bool=AND&query=form+mail&catid=all
- 
http://freephp.html.it/script/lista.asp?idcat=11
==
-- 
Ciau
~~
Litt - 
http://divxworld.altervista.org
*MyFastwebIP* - 
http://myfastwebip.weedns.com

 del form htm e poi mandarlo via e-mail senza utilizzare programmi di posta
Ciao Marco.
Questa cosa la devi mettere all'inizio della pagina (ma proprio 
all'inizio, senza neanche uno spazio bianco)
<?
$destinatario = "IL_TUO_INDIRIZZO_EMAIL";
$oggettoMail = "OGGETTO";
$testoMail = "INTESTAZIONE\n\n";
if (isset($_POST['nome'])) {
foreach ($_POST as $key=>$val) {
if ($key != "invia") {
$testoMail .= "$key : $val\n";
}
}
$testoMail .= "FOOTER DELLA MAIL";
mail($destinatario,$oggettoMail,$testoMail."-f".$destinatario);
header ("location: PAGINA_DI_REDIRECT");
}
?>
Questo script dovrebbe permettere di aggiungere campi al form ed 
autonaticamente il contenuto ti viene scritto dentro la mail.
Non l'ho provato, quindi ci potrebbero essere errori vari.
L'ultima riga (header) serve per far redirezionare l'utente ad un 
messaggio di conferma: se non ti serve seccala pure.
Non ci sono controlli se la mail è stata veramente spedita oppure no.
Sappimi dire.
Ciao
-- 
Andrea Azzini
Arya Interactive Media srl
http://www.inarya.com

 ha scritto nel messaggio
news:HY4Mc.93811$G%.45766@tornado.fastwebnet.it...

andrea sei un grande , se questo script fulziona su qualsiasi form mi salvi
la vita.
senti io ho modificato il form htm in modo da mandare le informazioni alla
pagina php in questo modo:
form.htm
........................
<!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>
<p>Form:</p>
<form action="and.php" method="post" name="formamail" id="formamail">

<p>&nbsp; </p>
</body>
</html>
.....in pratica ho aggiunto(<form action="and.php" method="post"
name="formamail" id="formamail">) dove "and.php" è la pagina php con il tuo
script che contiene questo codice:
and.php
.......................................
<?
$destinatario = *****@****.it;
$oggettoMail = "form";
$testoMail = "INTESTAZIONE\n\n";
if (isset($_POST['nome'])) {
foreach ($_POST as $key=>$val) {
if ($key != "invia") {
$testoMail .= "$key : $val\n";
}
}
$testoMail .= "FOOTER DELLA MAIL";
mail($destinatario,$oggettoMail,$testoMail."-f".$destinatario);
header ("location: 
http://localhost/asp/form2.htm
");
}
?>
...........però quando lo provo mi da questo errore:
Warning: mail(): SMTP server response: 550 5.7.1 Unable to relay for
m.bo...@computer-help.it
 in c:\inetpub\wwwroot\asp\and.php on line 14
Warning: Cannot modify header information - headers already sent by (output
started at c:\inetpub\wwwroot\asp\and.php:14) in
c:\inetpub\wwwroot\asp\and.php on line 15
dove line 14 corrisponde a :
mail($destinatario,$oggettoMail,$testoMail."-f".$destinatario);
dove line 15 corrisponde a:
header ("location: 
http://localhost/asp/form2.htm
");
utilizzo windows xp iis aggiornato con php.exe ecc.
ilserver php funziona.
sai se ho sbagliato a digitare qualcosa, io il web c'è l'ho in locale.
grazie tante. ciao Marco

 > Warning: mail(): SMTP server response: 550 5.7.1 Unable to relay for
 > 
m.bo...@computer-help.it
 in c:\inetpub\wwwroot\asp\and.php on line 14
Questo errore viene fuori perché in locale non hai impostato l'SMTP sul 
php.ini. Il parametro si chiama [mail function] e appena sotto c'è 
l'indirizzo SMTP a cui il tuo php si attacca. Come smtp usa quello che 
usi per la posta in uscita.
Salva il php.ini, riavvia apache (anzi IIS o PWS) e manda la mail!!
Se dopo queste operazioni ti da ancora lo stesso errore l'unico modo è 
metterlo on-line. Se volessi vedere il testo della mail basta che fai:
echo $testoMail;
appena prima della funzione mail (....): ricorda che nell'html non 
funzionano gli "a capo", quindi vedrai tutto sulla stessa riga, ma se 
guardi il source lo vedi giusto (spero tu abbia capito.... :-P)
Ciao.


 ha scritto nel messaggio
news:z9aMc.94543$G%.2867@tornado.fastwebnet.it...


 c:\inetpub\wwwroot\asp\mailer.php on line 2
E' una STRA-FAQ
http://groups.google.it/groups?q=Notice%3A+Undefined+variable&meta=group
%3Dit.comp.www.php
[ 
http://url.repository.biz/go/4z
 ]
http://www.php.net/manual/it/security.globals.php
ossia non usare $message ma $_POST['message'], per maggiore sicurezza
verifica prima che la variabile sia settata ( 
http://www.php.net/isset
). Infine evita gli short tags (<? ?>) ed utilizza la forma estesa
(<?php ?>).
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
L'uomo, conscio di sbagliare, persevera.