form mail: campo from

giulio73.gi

Nuovo Utente
8 Dic 2010
8
0
0
Buongiorno,
chiedo il vostro aiuto
mi piacerebbe che la variabile FROM assumesse il valore del campo NOME oltre che quello mail.
posto il codice
grazie mille in anticipo. Giulio

<?php
function ValidateEmail($email)
{
$pattern = '/^([0-9a-z]([-.\w]*[0-9a-z])*@(([0-9a-z])+([-\w]*[0-9a-z])*\.)+[a-z]{2,6})$/i';
return preg_match($pattern, $email);
}

if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$nome='NOME'
$mail = 'mail';
$mailfrom = isset($_POST['mail']) ? $_POST['mail'] : $mail;
$subject = 'SUBSCRIBE';
$message = 'NUOVA ISCRIZIONE';
$success_url = './messaggio_ok.html';
$error_url = './messaggio_errore.html';
$error = '';
$eol = "\n";
$max_filesize = isset($_POST['filesize']) ? $_POST['filesize'] * 1024 : 1024000;
$boundary = md5(uniqid(time()));

$header = 'From: '.$mailfrom.$eol;
$header .= 'Reply-To: '.$mailfrom.$eol;
$header .= 'MIME-Version: 1.0'.$eol;
$header .= 'Content-Type: multipart/mixed; boundary="'.$boundary.'"'.$eol;
$header .= 'X-Mailer: PHP v'.phpversion().$eol;
if (!ValidateEmail($mailfrom))
{
$error .= "The specified email address is invalid!\n<br>";
}
... ecc..
 
prova così:
PHP:
$header= 'From: Pinco Palla <'.$mailfrom.'>' . $eol;
 
Grazie Eliox per la risposta,

Intendevo xò dire che mi piacerebbe avere il nome :

if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$nome=$_POST["nome"];

$mail =$_POST["mail"];

$mailto = '[email protected]';
$mailfrom = isset($_POST['mail']) ? ($_POST['mail']) : $mail;
$subject = 'SUBSCRIBE';
$message = 'NUOVA ISCRIZIONE';
$success_url = './messaggio_ok.html';
$error_url = './messaggio_errore.html';
$error = '';
$eol = "\n";
$max_filesize = isset($_POST['filesize']) ? $_POST['filesize'] * 1024 : 1024000;
$boundary = md5(uniqid(time()));


$header = 'From: $nome <'.$mailfrom.$eol'>';

come puoi vedere ho provato a fare come mi suggerisci ma restituisce questo errore

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /var/www/vhosts/miosito.it/httpdocs/provagenerale/iscrizione_news.php on line 26
 
prova così:
PHP:
$header = 'From: ' .$nome. ' <'.$mailfrom.$eol.'>';
 
come da tuo suggerimento mi da errore di sintassi...
questo e' il miglior risultato che sono riuscito ad ottenere ma il nome e la mail sono attaccati e non riesco a spaziarli

<?php
function ValidateEmail($email)
{
$pattern = '/^([0-9a-z]([-.\w]*[0-9a-z])*@(([0-9a-z])+([-\w]*[0-9a-z])*\.)+[a-z]{2,6})$/i';
return preg_match($pattern, $email);
}

if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$nome=$_POST["nome"];

$mail =$_POST["mail"];

$mailto = '[email protected]';
$mailfrom = isset($_POST['mail']) ? ($_POST['mail']) : $mail;
$subject = 'SUBSCRIBE';
$message = 'NUOVA ISCRIZIONE';
$success_url = './messaggio_ok.html';
$error_url = './messaggio_errore.html';
$error = '';
$eol = "\n";
$max_filesize = isset($_POST['filesize']) ? $_POST['filesize'] * 1024 : 1024000;
$boundary = md5(uniqid(time()));


$header = 'From: ' .$nome .$mailfrom.$eol;
$header .= 'Reply-To: '.$mailfrom.$eol;
$header .= 'MIME-Version: 1.0'.$eol;
$header .= 'Content-Type: multipart/mixed; boundary="'.$boundary.'"'.$eol;
$header .= 'X-Mailer: PHP v'.phpversion().$eol;
if (!ValidateEmail($mailfrom))
{
$error .= "The specified email address is invalid!\n<br>";
}
 

Discussioni simili