Piano non uppare inutilmente, mica possiamo stare 24h/24h sul forum
Prova cosi:
Codice PHP:
$m = $_POST['email'];
$n = $_POST['nome'];
$by = "$n <$m>";
Originalmente inviato da
Diego3D
Un ultima informazione: I dati che mi verranno inviati tramite il form rimangono nel mio spazio web e vengono cancellati dopo un pò di tempo oppure il server fa solo da tramite e quindi i messaggi vengono cancellati immediatamente dopo l'invio?
Quando invii la mail essa non occupa spazio sul tuo sito ma nella tua casella di posta, quindi il server non ha traccia del messaggio inviato.
Originalmente inviato da
Diego3D
Per quanto riguarda l'esito dell'invio dati e il riepilogo,la riga che mi consigli di eliminare\modificare l'ho inserita per far si che dopo aver premuto il pulsante di invio mi ritorni alla pagina "Chi-sono.htm" dove risiede il form. Prima non c'era e quando premevo invio mi rimaneva la pagina bianca del file php.
Rimaneva una pagina bianca perchè inviava l'e-mail senza che venisse mostrato alcun messaggio, volendo puoi modificare quell'header in modo tale da visualizzare i dati inviati + un messaggio di conferma che l'e-mail è stata inviata e far si che dopo un determinato numero di secondi ritorni alla pagina "Chi-sono.htm, oppure si può tornare alla pagina "Chi-sono.htm" subito dopo l'invio della mail e mostrare li i dati inviati e l'esito però questo richiede la modifica della pagina "Chi-sono.htm" in Chi-sono.php
Dimmi se sono stato chiaro, se non hai capito qualche cosa o cosa vuoi fare, io cercherò di accontentarti
EDIT: Per controllare la validità dell'email puoi interagire con questo script:
Codice PHP:
<?php
function chkEmail($email)
{
// elimino spazi, "a capo" e altro alle estremità della stringa
$email = trim($email);
// se la stringa è vuota sicuramente non è una mail
if(!$email) {
return false;
}
// controllo che ci sia una sola @ nella stringa
$num_at = count(explode( '@', $email )) - 1;
if($num_at != 1) {
return false;
}
// controllo la presenza di ulteriori caratteri "pericolosi":
if(strpos($email,';') || strpos($email,',') || strpos($email,' ')) {
return false;
}
// la stringa rispetta il formato classico di una mail?
if(!preg_match( '/^[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}$/', $email)) {
return false;
}
return true;
}
$email = 'test@dominio.it';
if(chkEmail($email)) {
/* Fine controllo validità e-mail ed invio della mail SOLO se l'indirizzo è valido */
$oggi = date("j F Y G:i");
$sito = "nomesito";
$ip = "$_SERVER[REMOTE_ADDR]";
$browser = "$_SERVER[HTTP_USER_AGENT]";
$to = "email";
$soggetto = "Form contatti $sito";
if(trim($_POST['nome']) == "" OR trim($_POST['email']) == "" OR trim($_POST['oggetto']) == "" OR trim($_POST['messaggio']) == "") {
echo "<font color=\"#000000\" face=\"Arial\" size=\"10\"><strong>Tutti i campi sono obbligatori</strong></font>"; }
else {
$body = "Modulo inviato il $oggi da $ip - $browser \n\n";
$body .= "Nome: $_POST[nome] \nEmail: $_POST[email] \nOggetto: $_POST[oggetto] \nMessaggio: $_POST[messaggio]";
$m = $_POST['email'];
$n = $_POST['nome'];
$by = "$n <$m>";
mail("$to","$soggetto","$body","From: $by");
header("Location:Chi-sono.htm"); }
// Se l'indirizzo e-mail non è corretto visualizzo un errore:
}else {
echo 'Indirizzo email non valido';
}
?>