- Home
- Categorie
- Coding e Sistemistica
- PHP
- Mail in HTML e riconoscimento variabili PHP
-
Mail in HTML e riconoscimento variabili PHP
Salve a tutti,
premetto che di HTML e PHP non capisco nulla
ma avendo un buon intuito sono riusciuto a inviare i dati di un Form via email, se in formato testo è tutto OKse trasformo la mail in formato HTML mi arriva in HTML come lo formattata io ma i valori delle variabili PHP utilizzate non riesco più a visualizzarle
sicuramente è un errore di scrittura ma non so proprio come risolverlo
Ad esempio:
all'interno del messaggio, laddove dovrebbe apparire il valore della variabile php
nel codice HTML è scritto:
<tr>
<td width="546" height="18"><font face="Arial" color="#5D5D5D" size="2">Nominativo: "<?php echo $nome; ?>"</font></td>
</tr>Quando la mail mi arriva
visualizzo soloNominativo ""
perdendo così il valore della variabile
Come dovrei scrivere???
Grazie a chi vorrà rispondermi
Buona serata
-
Quello che hai scritto è corretto, dovresti allargare un po' il punto di vista così vediamo se c'è qualche errore prima, o di concetto.
-
@margheritebianche said:
Quello che hai scritto è corretto, dovresti allargare un po' il punto di vista così vediamo se c'è qualche errore prima, o di concetto.
grazie per l'interessamento
allora
questo è il codice:<?php
$receiverMail = "[EMAIL="[email protected]"][email protected][/EMAIL]";
$subject = "TEST";
$name = "Form";$nome_azienda = ltrim(rtrim(strip_tags($_POST['nome_azienda'])));
$via = ltrim(rtrim(strip_tags($_POST['via'])));
$tel = ltrim(rtrim(strip_tags($_POST['tel'])));
$settore = ltrim(rtrim(strip_tags($_POST['settore'])));$msgbody = '
<html>
<head>
<title>Dati TEST</title>
</head>
<body bgcolor="#F8F8F8">
<table width="564" height="139" cellspacing="0" cellpadding="0" style="border-collapse: collapse" bordercolor="#111111">
<tr>
<th width="558" height="24" bgcolor="#333333">
<p align="left"><font face="Arial" color="#F8F8F8">TEST</font></th>
</tr>
<tr>
<th width="358" height="1" bgcolor="#F3F3F3"></th>
</tr>
<tr>
<td width="546" height="8"></td>
</tr>
<tr>
<td width="546" height="18"><font face="Arial" size="2" color="#5D5D5D">Nome
azienda: "<?php echo $nome_azienda?>"</font></td>
</tr>
<tr>
<td width="546" height="18"><font face="Arial" size="2" color="#5D5D5D">Via: "<?php echo $via; ?>"</font></td>
</tr>
<tr>
<td width="546" height="18"><font face="Arial" size="2" color="#5D5D5D">
Telefono: "<?php echo $tel; ?>"</font></td>
</tr>
<tr>
<td width="546" height="18"><font face="Arial" size="2" color="#5D5D5D">
Settore: "<?php echo $settore; ?>"</font></td>
</tr>
</table>
</body>
</html>
';$intestazioni = "MIME-Version: 1.0\r\n";
$intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";// invio del messaggio
mail($receiverMail, $subject, $msgbody, $intestazioni, "From: $name");?>
Nella mia casella postale arriva regolarmente il messaggio
formattato come avevo richiesto
ma non vengono restituiti valori dei campi del form (variabili php)il testo della mail che arriva è questo:
[LEFT]TEST[/LEFT]
Nome azienda: ""
Via: ""
Telefono: ""
Settore: ""
-
non devi fare un echo della variabile... basta che fai:
$stringa = 'blablabla'.$altravariabile.'blablabla';
-
@CZero said:
non devi fare un echo della variabile... basta che fai:
$stringa = 'blablabla'.$altravariabile.'blablabla';
Ciao,
da neofità e perfetto "ignorante" in materia....
non ho capito nullain pratica
come si compone questa stringa
e dove devo metterlacomunque grazie per la risposta
e .... per l'eventuale aiuto
-
Visto che sei dentro il php non e' necessario, come ti ha detto CZero, fare <?php echo...
Però siccome sei all'interno di una stringa tra apice singolo devi chiuderla, concatenare e riaprirla.
Quindi, ad esempio:<td width="546" height="18"><font face="Arial" size="2" color="#5D5D5D">Via: "<?php echo $via; ?>"</font></td>
diventa:
<td width="546" height="18"><font face="Arial" size="2" color="#5D5D5D">Via: "' . $via . '"</font></td>
-
Ho provato e funziona benissimo
grazie a CZero per aver trovato l'errore
e grazie a margheritebianche per la spiegazione e l'esempio pratico
Buona giornata