我试图为WP制作的网站制作一个联系表格,我在主题中添加了以下代码,如果我以正确的方式做到这一点,我无法弄明白。所以我使用以下代码:
<?php
$action=$_REQUEST['action'];
if ($action=="") /* display the contact form */
{
?>
<form method="post" action="#">
<input type="hidden" name="action" value="submit">
<div class="row 50%">
<div class="6u 12u(mobile)"><input type="text" name="name" placeholder="Nume" /></div>
<div class="6u 12u(mobile)"><input type="email" name="email" placeholder="Email" /></div>
</div>
<div class="row 50%">
<div class="12u"><textarea name="message" placeholder="Mesajul tau catre noi..." rows="6"></textarea></div>
</div>
<div class="row">
<div class="12u">
<ul class="actions">
<li><input type="submit" value="Trimite Mesajul" /></li>
</ul>
</div>
</div>
</form>
<?php
}
else /* send the submitted data */
{
$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$message=$_REQUEST['message'];
if (($name=="")||($email=="")||($message==""))
{
echo "All fields are required, please fill <a href=\"\">the form</a> again.";
}
else{
$from="From: $name<$email>\r\nReturn-path: $email";
$subject="Message sent using your contact form";
mail("myemail@gmail.com", $subject, $message, $from);
echo "Email sent!";
}
}
?>
你能说我失败了吗?为什么?
答案 0 :(得分:1)
<?php
/*
Plugin Name: Simple Contact Form
Plugin URI:
Description: This is a simple contact form
Author: Gabriel Alfaro
Version: 1.0
Author URI:
License: GPLv2
*/
function custom_form_setup(){
$nonce = wp_create_nonce( 'form-submit' );
?>
<form action="" method="post" enctype="multipart/form-data">
<input type="text" name="custom_name" placeholder="Name">
<input type="email" name="custom_email" placeholder="Email">
<textarea name="custom_message" placeholder="Mesajul tau cartr noi...."></textarea>
<input type="submit" value="Trimite Mesajui">
<input type="hidden" name="custom_nounce" value="<?php echo $nonce; ?>">
<input type="hidden" name="custom_form" value="true">
</form>
<?php
if($_POST['custom_form']){
if( ! wp_create_nonce( $nonce, 'form-submit' ) ){
// This nounce is not valid
die ( 'Security check' );
}else{
$name = sanitize_text_field($_POST['custom_name']);
$email = sanitize_text_field($_POST['custom_email']);
$message = sanitize_text_field($_POST['custom_message']);
$to = "myemail@gmali.com";
$subject = "Message sent using your contact form";
$message = $message;
$headers = "From: $name<$email>\r\nReturn-path: $email";
mail($to, $subject, $message, $headers);
echo "<br/ >Your message was successfully sent";
}
}
}
add_shortcode('custom-form', 'custom_form_setup');
?>
答案 1 :(得分:0)
如果您在消息中使用html,还应该使用以下值添加标头变量:
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";