1

我的 Wordpress 网站上有一个非常基本的联系表格(硬编码),但我无法正常工作。它通过 XAMPP 在本地运行良好,我确信这是我刚刚缺少的东西,但任何帮助将不胜感激。提前致谢!。我也在使用我创建的模板

<?php /* Template Name: contact */?>

<?php get_header(); ?>

<?php

//vars declared to store form input
$name=$email=$comment=$phone="";
//Error vars - to relay error message to the form 
$nameError=$emailError=$commentError="";
$error_message="";
$sentMessage="";
$status=0; //Will monitor if all fields have no errors and increment if so.

function sanitise_var($string){
    htmlentities($string);
    strip_tags($string);
    return stripslashes($string);
}

if(isset($_POST['submitted'])){

if($_POST['name']==""){ 
    $nameError="Please enter a name";
    $error_message="Oops, error in the form. Please check";

}

else {
    $name=$_POST['name'];
    ++$status;

}

if($_POST['email'] == "" || !preg_match("/^[a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$/i", $_POST['email'])){ 
    $error_message="Oops, error in the form. Please check";
    $emailError="Please enter a valid email";

}

else{
    $email=$_POST['email'];
    ++$status;
}

if(!$_POST['phone']=="") $phone=$_POST['phone'];

if($_POST['comment']==""){ 
    $error_message="Oops, error in the form. Please check";
    $commentError="Please enter a message";
}

else{
    $comment=$_POST['comment'];  
    ++$status;

 }


}//submitted if statement


if($status==3 && $_POST['submitted']){ 
    $sentMessage="From: $name, email: $email, Phone: $phone, Comment: $comment";
    wp_mail("mathornley@gmail.com", "From Android Scoop contact form", $sentMessage);
    echo "Thanks, your email was sent successfully!";
}

else{

echo<<<SOQ

<div class="entry-content">         

    <h1 class="entry-title">Contact</h1>

        <p class="contact">
            If you have a query drop us a line using the form below. We're always  happy to hear from people with ideas for posts and content they'd like to           feature or maybe write about. Or maybe you just have some feedback you'd like to share with us. Why not just swing by and say hello. 
        </p>       
        <p class="requiring">* Denotes required fields</p>       

        <div class="form_left">     

    <form action="/contact/" method="POST">
                <p><label>Name:</label><input type="text" name="name" value="$name"/></p> 
                <p class="error">$nameError</p> 
                <p><label>Email</label><input type="text" name="email" value="$email"/></p>
                <p class="error">$emailError</p> 
                <p><label>Phone:</label><input type="text" name="phone" value="$phone"/></p> 
                <input type="hidden" name="submitted" value="yes"/>
                <input type="submit" value="Send your message"/>                        
        </div>

        <div class="form_right">        
                <p><label>Message:</label><br/><textarea name="comment" rows="20" cols="20">$comment</textarea></p>
                <p class="error">$commentError</p> 
            </form>
        </div>
</div>

质量保证;

}
?> 

<?php get_footer();?>
4

3 回答 3

3

尝试将空白值用于以下操作:

<form action="" method="POST">

如果这不起作用,请尝试将第一个输入字段的名称参数重命名为其他名称,例如:

<input type="text" name="myname" value="$name"/>
于 2013-03-02T22:50:25.077 回答
2

我不知道 wordpress,但随着一般 PHP 规则的发展,根据您在评论中回复我的内容,错误就在这里

<form action="/contact/" method="POST">
              ----^----
于 2013-03-02T22:02:54.617 回答
-1

为什么不使用一些现成的 WordPress 联系表格?例如,Contact Form 7非常好。

Contact Form 7 是一个开源软件,可以管理多个联系表单,而且您可以通过简单的标记灵活地自定义表单和邮件内容。该表单支持基于 Ajax 的提交、CAPTCHA、Akismet 垃圾邮件过滤等。

安装

  • 将整个 contact-form-7 文件夹上传到 /wp-content/plugins/ 目录。
  • 通过 WordPress 中的“插件”菜单激活插件。
  • 您将在 WordPress 管理面板中找到“联系”菜单。
  • 创建一个联系表格,复制它,将它url粘贴到任何你想要的地方。
  • 联系表格将准确显示在其位置。

如果你想要一个例子,你可以看看这个网站看看它的外观和感觉。

于 2019-03-18T19:39:21.910 回答