【发布时间】:2011-12-10 17:32:02
【问题描述】:
我正在开发一个包含 Jquery 动画联系表单的 Wordpress 主题。我已经让 js 工作了(一个在点击时显示/隐藏的 div,其中包含表单)。这是一个静态 HTML/PHP example(单击“联系”按钮)。你说什么问题?问题是实际表格没有发送。我有一个 php 文件“contact engine.php”,它在我的模板目录中一个名为“php”的文件夹中发送表单。在我得到的 HTML 中:
<form method="post" action="<?php bloginfo('template_directory'); ?>/php/contactengine.php">
<label for="Name">Name:</label>
<input type="text" name="Name" id="Name" />
<label for="Email">Email:</label>
<input type="text" name="Email" id="Email" />
<label id="bericht" for="Message">Message:</label><br />
<textarea name="Message" rows="10" cols="20" id="Message"></textarea>
<input type="submit" name="submit" value="Submit" class="submit-button" />
</form>
经过一番摆弄后,我将问题缩小到 php 文件的实际链接。 Wordpress 不会将输入发送到 php 文件,并且什么也做不了。经过一些谷歌会话后,我发现大多数人为此使用插件,我不喜欢这个插件。此外,似乎 Wordpress 不允许您编写自己的 php sn-ps 以在主题中实现。我还发现了一些建议我应该将 php sn-p 放在每个模板附带的 functions.php 文件中,但我不知道如何链接到 functions.php 中的特定 php sn-p。任何人都知道如何解决这个问题?提前致谢!
附: php 脚本如下所示:
<?php
$EmailFrom = "contactformulier@stefanhagen.nl";
$EmailTo = "info@stefanhagen.nl";
$Subject = "Contactformulier StefanHagen.nl";
$Name = Trim(stripslashes($_POST['Name']));
$Tel = Trim(stripslashes($_POST['Tel']));
$Email = Trim(stripslashes($_POST['Email']));
$Message = Trim(stripslashes($_POST['Message']));
// validation
$validationOK=true;
if (!$validationOK) {
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
exit;
}
// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
// $Body .= "Tel: ";
// $Body .= $Tel;
// $Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $Message;
$Body .= "\n";
// send email
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
// redirect to success page
if ($success){
print "<meta http-equiv=\"refresh\" content=\"0;URL=../index.html\">";
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
?>
【问题讨论】:
-
表单按钮的 javascript 是什么?
-
表单没有使用 javascript,只有持有它的 div 使用 jquery 来显示/隐藏。该表单只是一个普通的 html 表单,带有一个发送它的 .php 文件。
-
对不起,也许我看错了你。按钮本身使用 CSS3 过渡进行了一些动画处理。