Newsgroup: it.lavoro.professioni.webmaster
Titolo: URGENTE:spero non OT :problema con formmail

Salve a tutti !
Come da oggetto ho un problema con uno script :
Per inviare richieste informazioni attraverso un form.
sono ricorso ad uno script php che viene richiamato dal form.
Il problema e' che nel campo "Da" dovrebbe comparire
il valore cognome e nome.
Esempio : Se io sono Lino Rossi e scrivo per richiedere
info attraverso il form, chi poi lo ricevera' dovra' poi
vedere nel campo "Da" il nome e cognome (Da : Lino Rossi).
Il problema e' che nel campo "Da" ricevo :
Li...@miohosting.serviziohosting.com
 ; 
Ro...@miohosting.serviziohosting.com
Praticamente , non so come si inserisce per ogni valore la stringa
@
miohosting.serviziohosting.com
.
nello script , la riga di codice e' la seguente :
mail("$recipient", "Oggetto della mail", $message, "From: $cognome $nome");
Vi chiedo un aiuto per favore!!!
Grazie!!

Marco ha scritto:

Ciao Marco,
non sono sicuro di aver capito bene il tuo problema, ma nel caso fosse
cio' che mi sembra di capire, tu vorresti che al destinatario della
e-mail inviata attraverso la tua form, accanto alla parola "From" (Da)
apparisse il tuo nome e cognome.
Se non e' stato specificato da nessuna parte che per $cognome e  $nome
si tratta di Lino Rossi, il server non potra' indovinarlo immagino :-))
!
Se fosse cosi' come credo, prova questa variante, che dovrebbe tagliare
la testa al toro:
mail("$recipient", "Oggetto della mail", $message, "From: Lino Rossi");
Spero di esserti stato d'aiuto...
Ciao

 Grazie!!
L'ultimo parametro che passi dovrebbe essere scritto cosě
From: indirizzomaildelmittente <nomedavisualizzare>
Prova e fammi sapere 

 ha scritto nel 
messaggio news:eglkmh$6sg$1...@news.flashnet.it...

Errata corrige (la stanchezza, azz...)
From: nomedavisualizzare <indirizzomaildelmittente> 

 ha scritto nel
messaggio news:eglkmh$6sg$1...@news.flashnet.it...

Non ho ben capito il tuo suggerimento...
Non so se ci siamo capiti :
Immagina di utilizzare il form per inviarmi richieste di info.
Come tutti i form c'e' il campo nome, cognome, ecc...
Quando io ricevo i dati via email della form che mi hai mandato
nel mio client di posta vedro' scritto (oltre ai vari dati) Da:  Piergiorgio
Bolla.
Il mio problema e' che non visualizzo soltanto (riferendomi all'esempio
fatto)
il tuo nome e cognome (Piergiorgio Bolla) ma visualizzo :
Pierg...@miohosting.serviziohosting.com
 ; 
Bo...@miohosting.serviziohosting.com
Quindi c'e' quel "@
miohosting.serviziohosting.com
" di troppo.
Spero di essere stato piu' chiaro.
Aspetto tuoi suggerimenti
grazie anticipate



Vai a vedere la parte di codice con:
$cognome=
$nome=
e vedi cosa c'è scritto e magari postacelo.
Ciao

 ha scritto nel messaggio 
news:8s7ti2ljdbns4efto...@4ax.com...

allora, dal form chiamo lo script:
<form action="../common/php/mailer_it.php?action=send" method="post"
name="form" id="form" onSubmit="return verifica(this);">
************codice di mailer_it.php **********************
<?
$version = "v1.3";
function show($error, $message){
    global $version;
    unset($GLOBALS["version"]);
    echo "<html><head><title>Form2Email $version</title></head><body>";
    echo "<table width=\"500\" border=\"1\" cellspacing=\"1\"
cellpadding=\"0\" align=\"center\" bordercolor=\"#000000\">\n";
    echo "<tr><td bgcolor=\"#CCCCCC\"><h5 align=\"center\"><font
face=\"Verdana, Arial, Helvetica, sans-serif\">$error\n";
    echo "</font></h5></td></tr><tr><td height=\"115\"
bgcolor=\"#99CCFF\">\n";
    echo "<div align=\"center\"><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"2\">$message</font></div></td></tr><tr><td
bgcolor=\"#CCCCCC\">\n";
    echo "<div align=\"center\"><font face=\"Verdana, Arial, Helvetica,
sans-serif\" size=\"1\">PHP Form2Email $version &copy; DotDragNet -
available from <a
href=\"
http://www.dotdragnet.co.uk/\
">
www.dotdragnet.co.uk
</a>";
    echo " where you will also find ASP, PHP, Flash &amp; CGI scripts and
tutorials and a banging Forum...</font></div>";
    echo "</td></tr></table></body></html>";
}
if ($action == "send"){
    // Date and Time
    $time = date("F jS Y, h:iA");
    // Grab the config file
    require "configmail.inc_it.php";
    // Do we need to log the IP addresses ?
    if ($logip == "1"){
        // Open the logfile
        if (!file_exists($logipfile)){
            $error = "Form Error (No Log File)";
            $message = "<b>Warning</b> \"Log IP\" file does not exist -
please make a text file named <b>$textname</b> and CHMOD it 777";
            show($error, $message);
            exit;
        }
        $fp = @fopen("$logipfile",  "a");
        if (!($fp)){
            $error = "Form Error (CHMOD)";
            $message = "<b>Warning</b> The \"Log IP\" file is not set CHMOD
777";
            show($error, $message);
            exit;
        }
    }
    // Iterate through all the POST variables, add them to the message body:
    $message = "";
    // Start Iterate
    while (list($key, $value) = each($HTTP_POST_VARS)){
        $message .= $key . ': ' . $value . "\r\n";
    }
    // Add extra Info
    $message .= "\n\n--------------- Extra Information ---------------\n\n";
    $message .= "Submitted: $time"."\n";
    // Grab the env config file
    if ($envreport == "1"){
        require "configenv.inc.php";
        $message .= "IP Address: $ip"."\n";
        $message .= "Browser version: $browser";
    }
    if (!isset($recipient)){
        $recipient = $whoto;
    }
    if (getenv("REQUEST_METHOD") == "GET"){
        $error = "Form Error (Request Method)";
        $message = "You may only use this script using the \"POST\" method
from this domain<br><br>$HTTP_HOST";
        show($error, $message);
        exit;
    }
    else {
        $checkpoint =
ereg("^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-.]?[0-9a-zA-Z])*\\.[a-zA-Z]{2,6}$",$email);
        if($checkpoint==0) {
            // if no valid email address entered, display no email message
            $error = "Form Error (Email)";
            $message = "You <b>must</b> enter a valid email address.";
            show($error, $message);
            exit;
        }
        else {
            mail("$recipient", "OGGETTO MAIL", $message, "From: $cognome
$nome");
        }
        if ($logip == "1"){
            fputs($fp, "$ip // $time // $email \n");
            // close the textfile
            fclose($fp);
        }
        if ($thankspage == "1"){
            header("Location: $pagelocation");
        }
        else {
            $error = "Your message has been sent.";
            $message = $thanksmessage;
            show($error, $message);
            exit;
        }
    }
}
?>
<html><head><title>Form2Email <? echo "$version"; ?></title></head><body>
<table width="500" border="1" cellspacing="1" cellpadding="0" align="center"
bordercolor="#000000">
<tr><td bgcolor="#CCCCCC">
<h5 align="center"><font face="Verdana, Arial, Helvetica, sans-serif">PHP
Form2Email <? echo "$version"; ?></font></h5></td></tr>
<tr><td height="115" bgcolor="#99CCFF">
<div align="center"><font face="Verdana, Arial, Helvetica, sans-serif"
size="2">Available from <a
href="
http://www.dotdragnet.co.uk/
">
www.dotdragnet.co.uk
</a></font></div></td></tr>
<tr><td bgcolor="#CCCCCC"><div align="center"><font face="Verdana, Arial,
Helvetica, sans-serif" size="1">PHP Form2Email <? echo "$version"; ?> &copy;
DotDragNet - available from <a
href="
http://www.dotdragnet.co.uk/
">
www.dotdragnet.co.uk
</a>
where you will also find ASP, PHP, Flash &amp; CGI scripts and tutorials and
a banging Forum...</font></div>
</td></tr></table></body></html>
************fine codice di mailer_it.php **********************
Come vedi il mailer_it .php richiama altri due file php
:configmail.inc_it.php  e  configenv.inc.php
Ecco il codice :
***********  configmail.inc_it.php *****************************
<?
$whoto = "
in...@miaazienda.com
"; // set this if you dont set a recipient in
your HTML form
$thankspage = "1"; // 1=goes to another page location (below), 0=gives
simple "thank you" message
$pagelocation = "../../it/trasmesso.htm"; // set this if thankspage (above)
= 1
$thanksmessage = "Thank you for filling out our form."; // set if thankspage
= 0
$envreport = "1"; // set to 1 if you require the IP address and browser of
the submitter to be included in the message.
$logip = "1"; // 1 to Log IP addresses, 0 = don't log IP addresses
$logipfile = "logmail.txt"; // If $logip = 1 then you MUST name and create a
.txt file CHMOD 777
?>
*********** fine  configmail.inc_it.php *****************************
*********** configenv.inc.php ***********************************
<?
if (getenv('HTTP_X_FORWARDED_FOR')){
    $ip=getenv('HTTP_X_FORWARDED_FOR');
    }
    else {
        $ip=getenv('REMOTE_ADDR');
        }
if ($HTTP_USER_AGENT == "") $browser = "No browser";
else $browser = $HTTP_USER_AGENT;
?>
***********fine  configenv.inc.php ***********************************