发送没有姓名、电子邮件和消息的电子邮件的联系表
Contact form sending emails without name, email and message
我正在构建的联系表单有问题,因为它发送的消息没有发件人信息(姓名和电子邮件),也没有消息。我需要那个。我尝试了我发现的另一个 post 中的 var_dump
,但没有用。
HTML
<form action="form_process.php" class="contact_form" method= "post" onsubmit>
<ul>
<li><label for="name">name:</label><input type="text" required /></li>
<li><label for="email">email:</label><input type="email" name="email" required /></li>
<li><label for="message">message:</label><textarea name="message" cols="40" rows="6" required ></textarea></li>
<li><button class="submit" type="submit">Enviar</button></li>
</ul>
</form>
</div>
PHP
<?php
$name = var_dump($_POST['name']);
$email = var_dump($_POST['email']);
$message = var_dump($_POST['message']);
$to = "mmechenique@gmail.com";
$subject = "Nuevo mensaje formulario de contacto";
mail ($to, $subject, $message, "From: " . $name);
echo "Tu mensaje ha sido enviado, muchas gracias!";
?>
试试这样使用您的表单:
<form action="form_process.php" class="contact_form" method= "post">
<ul>
<li><label for="name">name:</label><input type="text" name="name" required /></li>
<li><label for="email">email:</label><input type="email" name="email" required /></li>
<li><label for="message">message:</label><textarea name="message" cols="40" rows="6" required ></textarea></li>
<li><button class="submit" type="submit">Enviar</button></li>
</ul>
</form>
</div>
PHP:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$to = "mmechenique@gmail.com";
$subject = "Nuevo mensaje formulario de contacto";
mail ($to, $subject, $message, "From: " . $name);
echo "Tu mensaje ha sido enviado, muchas gracias!";
?>
您的 HTML 应如下所示:
<form action="form_process.php" class="contact_form" method="post">
<ul>
<li>
<label for="name">name:</label>
<input type="text" name="name" required />
</li>
<li>
<label for="email">email:</label>
<input type="email" name="email" required />
</li>
<li>
<label for="message">message:</label>
<textarea name="message" cols="40" rows="6" required ></textarea>
</li>
<li>
<button class="submit" type="submit">Enviar</button>
</li>
</ul>
</form>
您的 PHP 应如下所示:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$to = "mmechenique@gmail.com";
$subject = "Nuevo mensaje formulario de contacto";
$headers = "From: Enter something here < email@mail.com >\r\n";
$headers .= "X-Sender: Enter something here < email@mail.com >\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion();
$headers .= "X-Priority: 1\r\n"; // Urgent message!
$headers .= "Return-Path: email@mail.com\r\n"; // Return path for errors
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\r\n";
mail ($to, $subject, $message, $headers);
echo "Tu mensaje ha sido enviado, muchas gracias!";
?>
我不应该这么轻易地给出答案,因为您应该在发布问题之前进行研究,但这到底是怎么回事。现在您知道下次在发布您的问题之前做一些研究。
编辑:
<?php
$headers = "From: Enter your name < myemail@mail.com >\n"; //If you are the one sending the email enter your name here
OR
$headers = "From: ".$name." < ".$email." >\n"; // If you are the one the email is being sent to then try this header
$headers .= "X-Sender: Enter your name < myemail@mail.com >\n"; //Same logic applies for this guy
OR
$headers .= "X-Sender: ".$name." < ".$email." >\n"; //Same logic applies for this guy
?>
我正在构建的联系表单有问题,因为它发送的消息没有发件人信息(姓名和电子邮件),也没有消息。我需要那个。我尝试了我发现的另一个 post 中的 var_dump
,但没有用。
HTML
<form action="form_process.php" class="contact_form" method= "post" onsubmit>
<ul>
<li><label for="name">name:</label><input type="text" required /></li>
<li><label for="email">email:</label><input type="email" name="email" required /></li>
<li><label for="message">message:</label><textarea name="message" cols="40" rows="6" required ></textarea></li>
<li><button class="submit" type="submit">Enviar</button></li>
</ul>
</form>
</div>
PHP
<?php
$name = var_dump($_POST['name']);
$email = var_dump($_POST['email']);
$message = var_dump($_POST['message']);
$to = "mmechenique@gmail.com";
$subject = "Nuevo mensaje formulario de contacto";
mail ($to, $subject, $message, "From: " . $name);
echo "Tu mensaje ha sido enviado, muchas gracias!";
?>
试试这样使用您的表单:
<form action="form_process.php" class="contact_form" method= "post">
<ul>
<li><label for="name">name:</label><input type="text" name="name" required /></li>
<li><label for="email">email:</label><input type="email" name="email" required /></li>
<li><label for="message">message:</label><textarea name="message" cols="40" rows="6" required ></textarea></li>
<li><button class="submit" type="submit">Enviar</button></li>
</ul>
</form>
</div>
PHP:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$to = "mmechenique@gmail.com";
$subject = "Nuevo mensaje formulario de contacto";
mail ($to, $subject, $message, "From: " . $name);
echo "Tu mensaje ha sido enviado, muchas gracias!";
?>
您的 HTML 应如下所示:
<form action="form_process.php" class="contact_form" method="post">
<ul>
<li>
<label for="name">name:</label>
<input type="text" name="name" required />
</li>
<li>
<label for="email">email:</label>
<input type="email" name="email" required />
</li>
<li>
<label for="message">message:</label>
<textarea name="message" cols="40" rows="6" required ></textarea>
</li>
<li>
<button class="submit" type="submit">Enviar</button>
</li>
</ul>
</form>
您的 PHP 应如下所示:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$to = "mmechenique@gmail.com";
$subject = "Nuevo mensaje formulario de contacto";
$headers = "From: Enter something here < email@mail.com >\r\n";
$headers .= "X-Sender: Enter something here < email@mail.com >\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion();
$headers .= "X-Priority: 1\r\n"; // Urgent message!
$headers .= "Return-Path: email@mail.com\r\n"; // Return path for errors
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\r\n";
mail ($to, $subject, $message, $headers);
echo "Tu mensaje ha sido enviado, muchas gracias!";
?>
我不应该这么轻易地给出答案,因为您应该在发布问题之前进行研究,但这到底是怎么回事。现在您知道下次在发布您的问题之前做一些研究。
编辑:
<?php
$headers = "From: Enter your name < myemail@mail.com >\n"; //If you are the one sending the email enter your name here
OR
$headers = "From: ".$name." < ".$email." >\n"; // If you are the one the email is being sent to then try this header
$headers .= "X-Sender: Enter your name < myemail@mail.com >\n"; //Same logic applies for this guy
OR
$headers .= "X-Sender: ".$name." < ".$email." >\n"; //Same logic applies for this guy
?>