problema invio mail con form php

callas4ever

Nuovo Utente
24 Lug 2012
1
0
0
Ciao a tutti, spero che possiate aiutarmi perchè non riesco a risolvere questo problema! Ho inserito in una pagina html un form email. Ho poi personalizzato i file form.php e send.php postati da alessandro (grazie!!) nella discussione http://forum.mrwebmaster.it/webdesign-grafica/21934-realizzare-form-mail-dreamweaver.html

e anche io ho il problema che la mail viene inviata, ma i campi nome, mail e messaggio risultano vuoti, e nel corpo della mail visualizzo solo l'idirizzo ip del mittente. Posto il codice delle tre pagine:

pagina originale: bio.html

<td align="left" valign="top" scope="col"><form action="send.php" method="get" name="ContactForm">
<p>&nbsp;</p>
<p>
<label for="name">name
<br>
</label>
<input name="name" type="text" id="name" size="40">
</p>

<p>
<label for="email">email<br>
</label>
<input name="email" type="text" id="email" size="40">
</p>
<p>
<label for="message">leave a message:</label>
</p>
<p>
<textarea name="message" cols="40" rows="5" id="message"></textarea>
</p>
<p>
<input type="submit" name="button" id="button" value="Submit">
</p>
</form></td>
</tr>
</table>

send.php
<?php
// specifica la tua email e l'oggetto del messaggio
$your_email = '[email protected]';
$subject = 'mail dal sito';

// funzione per la visualizzazione degli errori
function show_error($errtxt)
{
// creo la query per la pagina
$query = array('err' => $errtxt);
$query = http_build_query($query);

// reindirizzo alla pagina
header("Location: form.php?{$query}");

// interrompo lo script
exit();
}

// se il form è stato inviato
if(isset($_POST['submit']))
{
// recupero i dati inviati
$name = isset($_POST['name']) ? trim($_POST['name']) : '';
$email = isset($_POST['email']) ? trim($_POST['email']) : '';
$message = isset($_POST['message']) ? trim($_POST['message']) : '';

// controlla che i campi non siano vuoti
if($name == '')
show_error('Non hai inserito il tuo nome.');
if(!preg_match('/^([\w\-\+\.]+)@([\w\-\+\.]+).([\w\-\+\.]+)$/', $email))
show_error('L\'e-mail che hai fornito non &egrave; valida.');
if($message == '')
show_error('Non hai inserito il tuo messaggio.');

// crea il messaggio da inviare
$msgtxt = "Un nuovo messaggio ti è stato inviato da un utente.\n";
$msgtxt = "L'utente ha fornito queste informazioni:\n";
$msgtxt = "---------------------------------------------------\n";
$msgtxt = "Nome: {$name}\n";
$msgtxt = "E-mail: {$email}\n";
$msgtxt = "---------------------------------------------------\n";
$msgtxt = "{$message}\n";
$msgtxt = "---------------------------------------------------\n";
$msgtxt = "L'indirizzo IP dell'utente è {$_SERVER['REMOTE_ADDR']}.";

// tenta di inviare il messaggio
if(!mail($your_email, $subject, $msgtxt))
show_error('Impossibile inviare il messaggio. Riprova pi&ugrave; tardi.');

// visualizza il messaggio di avvenuto invio
header('Location: form.php?sent=true');
}
// altrimenti
{
// reindirizza al file del form
show_error('servizio momentaneamente non disponibile. invia mail a [email protected]');
}
?>

form.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Invia e-mail</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>

<body>
<h1>Invia e-mail</h1>
<?php
if(isset($_GET['err']))
{
?>
<p style="color: red;"><?php echo $_GET['err']; ?></p>
<?php
}
elseif(isset($_GET['sent']))
{
?>
<p style="color: green;">Il messaggio &egrave; stato inviato con successo!</p>
<?php
}
?>
<form action="send.php" method="post">
<table cellspacing="10">
<tr>
<td><label>name</label></td>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<td><label>email</label></td>
<td><input type="text" name="email" /></td>
</tr>
<tr>
<td><label>message</label></td>
<td><textarea name="message" cols="40" rows="5"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Submit" /></td>
</tr>
</table>
</form>
</body>
</html>

Mi potete per favore aiutare?

grazie mille!!!
 
Discussioni simili
Autore Titolo Forum Risposte Data
Daniele_Carrara Problema timeout - invio mail PHP 7
A [PHP] Problema invio mail con funzione mail() PHP 3
Punix [PHP] problema script invio e-mail PHP 2
cobra_72 [PHP] problema invio multiplo allegati mail PHP 21
Il Matta Problema Form e invio mail PHP 2
B Problema form mail per invio doppio allegato PHP 1
A Problema orario invio mail per form PHP 4
O [PHP] Problema Invio Mail PHP 2
A problema invio mail PHP 5
D Problema invio mail [GIA POSTATO ERRONEAMENTE IN HTML] PHP 0
D Problema invio mail PHP 6
LaKanka Problema invio e-mail, prima riga vuota PHP 0
C Mail e php problema invio PHP 11
L Problema invio allegati via mail con libero PHP 5
V Problema con l'invio delle mail in locale (usando quindi easy php) PHP 16
S Problema invio mail da form Classic ASP 6
Angel0 Problema invio e-mail (era: problemi con xoom) Posta Elettronica 4
H Problema invio e-mail in WebSite X5 Posta Elettronica 0
B Problema invio mail con script php verso i dominii libero PHP 9
A problema con invio e-mail con CDONTS Classic ASP 0
V problema con invio mail Hosting 2
M [PHP] Problema script ricezione e invio posta... PHP 1
C [PHP] Problema Invio Email Elseif PHP 2
S Problema in PHP per invio file XML - RISOLTO- PHP 8
S Problema invio form php/html PHP 3
R PROBLEMA INVIO EMAIL AL CAMBIO DI STATO ORDINE E-Commerce 1
L invio smtp con phpmailer - problema invia due volte la email allo stesso utente PHP 0
asevenx problema invio email tramite form PHP 3
A Problema invio dati form contatti PHP 12
D Problema modulo invio messaggio da sito web PHP 7
A Problema invio messaggio col form PHP 1
S Problema con invio dati PHP 0
P Problema di invio dati PHP 4
L Problema di invio "value" PHP 1
Task Mc Problema form invio email da sito ç__ç PHP 4
L problema invio newsletter con script proprio in php PHP 10
Z Problema invio dati da textarea PHP 2
S Problema con l'invio del form in php PHP 0
F Problema form invio email php PHP 3
A Problema form invio dati PHP 2
T Problema invio dati ad altra pagina PHP 1
D Problema nell'invio dei dati di un form ad uno script AJAX Ajax 8
A problema con l'invio della password tramite email PHP 23
P Problema invio email da php PHP 9
J problema con apache2+php ed invio file con cURL Apache 2
J Problema invio file con cURL php su server verso server PHP 1
C Problema con il doppio invio nel form con onsubmit HTML e CSS 9
M problema script invio email multiplo PHP 8
B problema invio email PHP 7
B problema invio email PHP 7

Discussioni simili