Je suis un peu nouveau à php
.Certains de mes champs n'apparaissent pas sur un rd-mailform.php
J'ai attaché rd-mailform.php
à mon site et il envoie et redirige parfaitement.
Problème lorsque je l'ai ramassé il avait seulement deux champs, email et message, donc j'ai essayé d'ajouter le nom et le téléphone qui dans mon formulaire html
, mais ne peut pas obtenir ces 2 nouveaux champs à apparaître dans l'email I reçois, essaye de comprendre ce qui me manque.
est la suivante
<?php
$recipients = '';
//$recipients = '';
try {
require './phpmailer/PHPMailerAutoload.php';
preg_match_all("/([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)/", $recipients, $addresses, PREG_OFFSET_CAPTURE);
if (!count($addresses[0])) {
die('MF001');
}
if (preg_match('/^(127\.|192\.168\.)/', $_SERVER['REMOTE_ADDR'])) {
die('MF002');
}
$template = file_get_contents('rd-mailform.tpl');
if (isset($_POST['form-type'])) {
switch ($_POST['form-type']){
case 'contact':
$subject = 'A message from your site visitor';
break;
case 'subscribe':
$subject = 'Subscribe request';
break;
case 'order':
$subject = 'Order request';
break;
default:
$subject = 'A message from your site visitor';
break;
}
}else{
die('MF004');
}
if (isset($_POST['name'])) {
$template = str_replace(
["<!-- #{NameState} -->", "<!-- #{FromName} -->"],
["Name:", $_POST['name']],
$template);
}else{
die('MF006');
}
if (isset($_POST['phone'])) {
$template = str_replace(
["<!-- #{PhoneState} -->", "<!-- #{FromPhone} -->"],
["Phone:", $_POST['phone']],
$template);
}else{
die('MF005');
}
if (isset($_POST['email'])) {
$template = str_replace(
["<!-- #{FromState} -->", "<!-- #{FromEmail} -->"],
["Email:", $_POST['email']],
$template);
}else{
die('MF003');
}
if (isset($_POST['message'])) {
$template = str_replace(
["<!-- #{MessageState} -->", "<!-- #{MessageDescription} -->"],
["Message:", $_POST['message']],
$template);
}
preg_match("/(<!-- #{BeginInfo} -->)(.|\n)+(<!-- #{EndInfo} -->)/", $template, $tmp, PREG_OFFSET_CAPTURE);
foreach ($_POST as $key => $value) {
if ($key != "name" && $key != "phone" && $key != "email" && $key != "message" && $key != "form-type" && !empty($value)){
$info = str_replace(
["<!-- #{BeginInfo} -->", "<!-- #{InfoState} -->", "<!-- #{InfoDescription} -->"],
["", ucfirst($key) . ':', $value],
$tmp[0][0]);
$template = str_replace("<!-- #{EndInfo} -->", $info, $template);
}
}
$template = str_replace(
["<!-- #{Subject} -->", "<!-- #{SiteName} -->"],
[$subject, $_SERVER['SERVER_NAME']],
$template);
$mail = new PHPMailer();
$mail->From = $_SERVER['SERVER_ADDR'];
$mail->FromName = $_SERVER['SERVER_NAME'];
foreach ($addresses[0] as $key => $value) {
$mail->addAddress($value[0]);
}
$mail->CharSet = 'utf-8';
$mail->Subject = $subject;
$mail->MsgHTML($template);
if (isset($_FILES['attachment'])) {
foreach ($_FILES['attachment']['error'] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$mail->AddAttachment($_FILES['attachment']['tmp_name'][$key], $_FILES['Attachment']['name'][$key]);
}
}
}
$mail->send();
header('Location: http://www.mut-con.co.za/thankyou.html'); //Redirect
die('MF000');
} catch (phpmailerException $e) {
die('MF254');
} catch (Exception $e) {
die('MF255');
}
?>
Comme je l'ai dit la forme envoie bien, juste besoin d'envoyer le nom et le téléphone ainsi.