Vous n'êtes pas identifié(e).
Bonjour tous le monde,
Ayant recuperer un script pour envoyer des Ecards (c'est la saison!) j'aimerais rajouter à celui-ci les champs prénom et email de l'expediteur.
Mon problème et que je n'arrive pas à faire afficher ses informations dans l'email, sans doute parce que je ne sais comment déclarer les variables concernés.
Merci d'avance pour tout elements de reponse
[code: php]
<?php
// CHANGE PARAMETERS HERE BEGIN
$columns = 5;
$senderName = 'Sender Name Here'; // Eg.: John's Postcards
$senderEmail = 'Sender EMAIL here'; // Eg.: john@postcard.com
// Change only if you have problems with urls
$postcardURL = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
// CHANGE PARAMETERS HERE END
// This function displays the available images
function displayPhotos(){
global $columns;
$act = 0;
// Open the actual directory
if ($handle = opendir("thumbs")) {
// Read all file from the actual directory
while ($file = readdir($handle)) {
if (!is_dir($file)) {
if ($act == 0) echo "<tr>";
echo "<td align='center'>
<img src='thumbs/$file' alt='postcard' /><br/>
<input type='radio' name='selimg' value='$file' />
</td>";
$act++;
if ($act == $columns){
$act = 0;
echo "</tr>";
}
}
}
echo "</tr>";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html>
<body>
<?php if ( (!isset($_POST['submit'])) && (!isset($_GET['show'])) ) { ?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table align="center">
<?php displayPhotos(); ?>
</table>
<h2>Fill the form</h2>
<table width="100%">
<tr>
<td>Send to (email address):</td>
<td><input type="text" name="email" size="30"/></td>
</tr>
<tr>
<td><blockquote>
<p>indiquez votre prénom :</p>
</blockquote></td>
<td><input type="text" name="prenom" size="30"/></td></tr>
<tr>
<td><blockquote>
<p>indiquez votre email :</p>
</blockquote></td>
<td><input type="text" name="email2" size="30"/></td></tr>
<td>Message:</td>
<td><textarea name="message" rows="10" cols="40"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="Send card!" name="submit"/></td>
</tr>
</table>
</form>
<?php } else if ( (isset($_POST['submit'])) && (!isset($_GET['show'])) ) {
$pic = isset ($_POST['selimg']) ? $_POST['selimg'] : '';
$filename = date('YmdGis');
$f = fopen('messages/'.$filename.".txt","w+");
fwrite($f,$pic."\n");
fwrite($f,$_POST['email']."\n");
fwrite($f,htmlspecialchars($_POST['message'])."\n");
fclose($f);
// Compose the mail
$postcardURL = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
$from = "From: $senderName <$senderEmail>\r\n";
$replay = "Reply-To: $senderEmail\r\n";
$params = "MIME-Version: 1.0\r\n";
$params .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$mailtext = "You have just received a virtual postcard!\r\n\r\n"
. "You can pick up your postcard at the following web address:\r\n"
. "$postcardURL"."?show=$filename\r\n\r\n"
. "We hope you enjoy your postcard, and if you do, "
. "please take a moment to send a few yourself!\r\n\r\n"
. "Regards,\r\n"
. "Postcard Tutorial\r\n"
. $postcardURL;
// Send email
@mail($_POST['email'],"You've received a postcard",$mailtext,$from.$replay.$params);
?>
<center>
Your postcard was sended succesfuly!<br/><br/>
<img src='images/<?php echo $pic; ?>' alt="postcard" /><br/><br/><br/>
<?php echo nl2br(htmlspecialchars($_POST['message'])); ?></center>
<?php } else if ( (!isset($_POST['submit'])) && (isset($_GET['show'])) ) {
$file = isset($_GET['show']) ? $_GET['show'] : '' ;
$content = file('messages/'.$file.".txt");
$pic = $content['0'];
unset ($content['0']);
unset ($content['1']);
$main = "";
foreach ($content as $value) {
$main .= $value;
}
?>
<center>Your postcard!<br/><br/>
<img src='images/<?php echo $pic; ?>' alt="postcard" />
<br/><br/><br/>
<?php echo nl2br(htmlspecialchars($main)); ?>
</center>
<?php } ?>
</body>[/code]
Hors ligne
Il s'agit de faire de la concaténation de variables.
Le contenu de ta carte se trouve dans la variable $_POST['message'].
Tu peux donc faire un truc comme cela :
Bien sûr cette manipulation est à faire avant les fwrite.
Hors ligne
En fait, c'est dans le mail que reçoit la personne que j'aimerais qu' apparraisse le nom et l'adresse de celui qui envoi,
genre :
"Pierre (pierre@free.fr) viens de vous envoyer une carte ..."
"vous pouvez la consulter ici ..."
Hors ligne
oui merci ça y es j'y suis arriver !
merci beaucoup !
Hors ligne