- Home
- Categorie
- Coding e Sistemistica
- PHP
- invio email
-
http://www.giorgiotave.it/forum/php-mysql/89098-invio-e-mail-e-spam.html
qua c'è un esempio
-
ok, l' email con la scritta "ciao" me la manda. Come faccio però a farmi inviare la tabella (quella scritta nel primo post) compilata???
-
apposto di ciao metti la tabella, e aggiungi l'header per mandare l'email in html come è stato fatto in quella discussione
-
forse non ho capito bene...allora...io in una pagina ho la tabella(quella da compilare)..sotto la tabella c'è un pulsante che mi porta alla pagina che manda l' email.
Nella configurazione della pagina (quella che manda l' email) ho inserito:
$messaggio = "pagina tabella.php";
ora però mi spedisca l' email con la pagina...vuota...con la tabella...ma la tabella non è compilata. grz ancora per il tuo aiuto
-
Beh tu devi recuperare i valori inviati dal form... ed elaborarli
-
facendo un esempio, ho inserito nella tabella in una cella "Nome:" e in quella accanto <input type="text" name="nome">
nella pagina che invia l' email ho inserito $messaggio = $nome; ma la mail mi arriva vuota....senza niente dentro...propio bianco.
-
Per recuperare i valori dalla pagina di arrivo devi utilizzare $_GET o $_POST a seconda del method utilizzato nel from:
$messaggio = $_POST['nome'];
in questo modo puoi ricostruire la tabella nel corpo del messaggio da spedire.
-
veramente io nn ho ne get ne post... questa è la pagina dove c'è la tabella per la registrazione...
c'è qualcosa di sbagliato???<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="l">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Pagina per la registrazione</title>
</head>
<body>
<center> Compila la scheda e clicca sul tasto " INVIA " </center>
<center> <table width="100" height="80" border="2">
<td> <align="left"> Nome: </align> </td>
<td> <center> <input type="text" name="nome"> </center> </td>
<tr>
<td> <align="left"> Cognome: </align> </td>
<td> <center> <input type="text" name="cognome"> </center> </td>
<tr>
<td> <align="left"> e-mail: </align> </td>
<td> <center> <input type="text" name="e-mail"> </center> </td>
<tr>
<td> <align="left"> Username: </align> </td>
<td> <center> <input type="text" name="username"> </center> </td>
<tr>
<td> <align="left"> Password: </align> </td>
<td> <center> <input type="text" name="password"> </center> </td>
</table>
<center>
<form action="pagina_invio_mail.php">
<input type="submit" value=" INVIA ">
</form>
</center>
</body>
</html>
-
Il method di default è GET, ma conviene sempre, a meno di necessità particolari, utilizzare il POST.
Nel TAG form devi aggiungere method="post":<form action="pagina_invio_mail.php" method="post">
E nella pagina pagina_invio_mail.php recuperi i valori così passati utilizzando:
$valore_1 = $_POST['var_1'];
$valore_2 = $_POST['var_2'];
...
$valore_n = $_POST['var_n'];
-
mi arriva la mail vuota....
ecco cosa ho fatto...
nella pagina invio_mail.php ho inserito:
<?php$nome = $_POST['nome']; <-----ho recuperato i valori
$cognome = $_POST['cognome'];$a="mio_indirizzo";
$oggetto="Iscrizione";
$intestazioni= "From: indirizzo_sito";
$intestazioni .= "indirizzo";
$intestazioni .= "X-Mailer: PHP/" . phpversion();
$messaggio = $_POST['nome']; <-----------------if (!mail($a, $oggetto, $messaggio, $intestazioni))
{
// notifica_errore();
stampa_errore("$email: Impossibile inoltrare la richiesta a questo indirizzo");
die();
}
?>nella pagina registrazione:
<body>
<center> Compila la scheda e clicca sul tasto " INVIA " </center>
<center> <table width="100" height="80" border="2">
<td> <align="left"> Nome: </align> </td>
<td> <center> <input type="text" name="nome"> </center> </td>
<tr>
<td> <align="left"> Cognome: </align> </td>
<td> <center> <input type="text" name="cognome"> </center> </td>
<tr>
<td> <align="left"> e-mail: </align> </td>
<td> <center> <input type="text" name="e-mail"> </center> </td>
<tr>
<td> <align="left"> Username: </align> </td>
<td> <center> <input type="text" name="username"> </center> </td>
<tr>
<td> <align="left"> Password: </align> </td>
<td> <center> <input type="text" name="password"> </center> </td>
</table>
<center>
<form action="pagina_invio_mail.php" method="post"> <---metodo
<input type="submit" value=" INVIA "> </form>
</center>
</body>Ma ancora mi arriva l' email vuota
-
[php]
<body>
<form action="pagina_invio_mail.php" method="post">
<center> Compila la scheda e clicca sul tasto " INVIA " </center>
<center> <table width="100" height="80" border="2">
<td> <align="left"> Nome: </align> </td>
<td> <center> <input type="text" name="nome"> </center> </td>
<tr>
<td> <align="left"> Cognome: </align> </td>
<td> <center> <input type="text" name="cognome"> </center> </td>
<tr>
<td> <align="left"> e-mail: </align> </td>
<td> <center> <input type="text" name="e-mail"> </center> </td>
<tr>
<td> <align="left"> Username: </align> </td>
<td> <center> <input type="text" name="username"> </center> </td>
<tr>
<td> <align="left"> Password: </align> </td>
<td> <center> <input type="text" name="password"> </center> </td>
</table>
<center>
<input type="submit" value=" INVIA "> </form>
</center>
</form>
</body>
[/php]
-
io non ho inserito il form a inizio tabella....ma alla fine...sul bottone...è un errore???
-
si
-
Non oso mettere in dubbio quello che hai scritto tu, cmq il form è chiuso 2 volte....è giustò così???
<input type="submit" value=" INVIA "> </form> <--------
</center>
</form> <--------
</body>
-
no, il primo toglilo... era quell oche avevi messo tu, che mi sono dimenticato di toglierlo
-
Ok, grazie 1000....un ultimissima domanda...(sei stato gentilissimo e pazientissimo...ti costa l' ultima???)
Nel messaggio non devo mandare solo il nome....dopo averlo preso con POST...etc... come devo fare qui???
$messaggio = $_POST['nome']; come faccio a inserire anche cognome....email etc???
-
[php]
messaggio = 'Nome: '.$_POST['nome'].'Cognome: '.$_POST['cognome'];
[/php]
e cosi via
-
ok, grazie tantissimo...ciao
-
prego