как отправить данные формы на почтовый идентификатор

Может кто-нибудь, пожалуйста, помогите мне найти, что не так с кодом? На самом деле я пытаюсь отправить данные формы непосредственно в почтовый идентификатор, но следующий код не работает. Мне нужно отправить все входные данные пользователя на Id почты в табличном формате.

HTML часть

<div class="form-group">
<label class="control-label col-lg-2" for="Patient">Patient:</label>
<div class="col-lg-10">
<input type="text" class="form-control fc" name="patient" id="Patient">
</div>
</div>

<div class="form-group">
<label class="control-label col-lg-2" for="Date">Date:</label>
<div class="col-lg-10">
<input type="date" class="form-control fc" name= "date" id="Date">
</div>
</div>
<button type="submit" class="btn btn-default" data-loading-text="Sending...">Send</button>

PHP

function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}

$userinput==true; // set trigger for verification

//Error variables
$patientErr1="";
$patientErr2="";
$DateErr = "";
$DoctErr = "";
$patient = $_POST["patient"];
$date = $_POST["date"];
if(isset($_POST['submit'])){

if(empty($patient)){
$patientErr1 = "You have to provide Name";
$userinput = false;
}
if (!preg_match("/^[a-zA-Z ]*$/",$patient)){
$patientErr2 = "You can't provide numeric value in name field";
$userinput = false;
}else{
$patient = test_input($patient);
}

if (empty($date)){
$DateErr = "Please select date";
$userinput = false;

}else{
$date = test_input($date);
}
if(empty($doctor)){
$DoctErr = "Please fill Doct Name";
$userinput = false;
}
if (!preg_match("/^[a-zA-Z ]*$/",$doctor)){
$DoctErr2 = "You can't provide numeric value in name field";
$userinput = false;
}else{
$patient = test_input($doctor);
}

if ($userinput == true ){

// mail will sent to
$to = "test12345@gmail.com";
$subject = "User input";
$message = "?>
<html>
<head>
</head>
<body>
<table>
<tr>
<th>Field Name</th>
<th>Value</th>
</tr>
<tr>
<td>patient Name</td>
<td><?php echo $patient; ?></td>
</tr>
<tr>
<td>date</td>
<td><?php echo $doctor; ?></td>
</tr>
</table>
</body>
</html>
<?php";
}
//send mail
mail($to,$subject,$message);
?>

-3

Решение

Если вы хотите отправлять электронную почту в формате html с помощью функции php mail (), вам нужно установить заголовки и установить тип содержимого html.

В вашем скрипте много проблем, у вашего php есть _POST, которых нет в вашей форме, я сделал весь ваш скрипт. Пожалуйста, сравните мои с вашими и посмотрите, если вы ошиблись, а затем учиться на этом.

Спасибо 🙂

<?php$errors = "";
; // check number of errors

//Error variables
$patientErr1 = "";
$DateErr     = "";
$DoctErr     = "";
$emailErr    = "";$DoneMessage = "";
$to          = "test12345@gmail.com";
$subject     = "User input";

if (isset($_POST['submit'])) {if (empty($_POST['patient'])) {

$patientErr1 = "You have to provide Name";
$errors++;
} else {

$patient = test_input($_POST['patient']);

if (!preg_match("/^[a-zA-Z ]*$/", $patient)) {

$patientErr1 = "You can't provide numeric value in name field";
$errors++;
}
}

if (empty($_POST['date'])) {

$DateErr = "Please select date";
$errors++;
} else {

$date = test_input($_POST['date']);
}

if (empty($_POST['email'])) {

$emailErr = "enter email";
$errors++;
} else {

$email = test_input($_POST['email']);

if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email)) {

$emailErr = "Enter valid email";
}
}if ($errors > 0) {

// We have errors print them back

$DoneMessage = "Please fix " . $errors . " below to send message";
} else {
// No Errors set headers and send email

$headers = "MIME-Version: 1.0" . "\r\n"; // set html
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= 'From: ' . $patient . ' <' . $email . '>' . "\r\n";$message = "<table>
<tr>
<th>Patient Name</th>
<th>Value</th>
<th>Email</th>

</tr>";
$message .= "<tr>

<td>$patient</td>

</tr>";
$message .= "<tr>
<
<td>$date</td>

</tr>";

$message .= "<tr>

<td>$email</td>

</tr>";

$message . "=     </table>";

if (mail($to, $subject, $message, $headers)) {

$DoneMessage = "Thaks email sent";
} else {

$DoneMessage = "Server problem could not send email";
}
}// mail will sent to}function test_input($data)
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}?>

<?php echo $DoneMessage;?>

<form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<div class="form-group">
<label class="control-label col-lg-2" for="Patient">Patient: <?php echo $patientErr1;?></label>
<div class="col-lg-10">
<input type="text" class="form-control fc" name="patient" id="Patient">
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-2" for="Date">Date: <?php echo $DateErr;?></label>
<div class="col-lg-10">
<input type="date" class="form-control fc" name= "date" id="Date">
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-2" for="email">Your email: <?php echo $emailErr;?></label>
<div class="col-lg-10">
<input type="email" class="form-control fc" name="email" id="email">
</div>
</div>
<button type="submit" name="submit" class="btn btn-default" data-loading-text="Sending...">Send</button>
</form>
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector