通过PHPMailer发送表单数据-如何从表单操作PHP脚本

时间:2013-05-20 作者:Paul

提供的一些简单要点。。。

我希望从WordPress页面操作PHP脚本,但存储脚本的最佳位置是哪里?该脚本在平面HTML目录结构中使用非WordPress环境时运行良好。

我想使用以下代码从页面执行操作:

<form class="contact_form" form action="phpmailersub.php" method="post" enctype="multipart/form-data" name="contact_form" onsubmit="return validateForm()">
然后什么将进入表单action=“file”?

当前提交操作正在搜索页面http://current/route/to/contact-test/phpmailersub.php 但很明显,WordPress找不到它。

非常感谢您的帮助!如果我能做些什么来表达我的疑问,或者如果你需要任何额外的材料,我会尽力帮助你。

UPDATE

目前,PHP文件(phpmailersub.PHP)和类。PHP编译器。php位于:http://damtech.it/demo/etap/wp-content/plugins/phpmailersub.php

我当前的代码如下所示:

<form class="contact_form" action="&lt;?php bloginfo(\'http://damtech.it/demo/etap/wp-content/plugins/\'); ?&gt;&lt;p&gt;/phpmailersub.php" enctype="multipart/form-data" method="post" name="contact_form" onsubmit="return validateForm()">
<table class="contact">
<tbody>
<tr>
<td class="third"><input type="text" name="cf_mercury" required="" /></td>
<td><span style="color: #3c4247;">   Name</span><span style="color: #3492d1;">*</span></td>
</tr>
<tr>
<td class="third"><input type="email" name="cf_jupiter" required="" />
<span class="form_hint">Correct format "[email protected]"</span></td>
<td>   <span style="color: #3c4247;">E-mail</span><span style="color: #3492d1;">*</span></td>
</tr>
<tr>
<td colspan="2"><textarea name="cf_uranus" required="" rows="6"></textarea></td>
</tr>
</tbody>
</table>
<table class="contact">
<tbody>
<tr>
<td width="50%"><button class="submit" onclick="document.getElementById(\'contact_form\').submit()" type="submit">Send message</button></td>
<td style="text-align: right;" width="50%"><span class="c-clear"><button class="reset" style="color: #3c4247; letter-spacing: -0.5px;" onclick="document.getElementById(\'contact_form\').reset()" type="reset">reset</button></span></td>
</tr>
</tbody>
</table>
</form>

3 个回复
最合适的回答,由SO网友:BarmyArmy 整理而成

在第一次尝试时,你实际上更接近了。

我的建议是在WP根目录中创建一个名为“scripts”的文件夹,并将您的PHP脚本文件以及附件放在这里。然后需要在动作属性中声明完整路径,因为脚本现在与“平面HTML文件结构”中的文件路径不同。

您的操作代码将是action="http://damtech.it/demo/etap/scripts/phpmailersub.php"

就这么简单。根本不需要创建插件(尽管这可能是更好的做法)。不要忘记更改phpmailersub中的详细信息。php以适应附件路径(服务器路径)、页面指示等方面的更改。

SO网友:fuxia

不要直接调用PHP文件。这将中断,因为在某些设置中plugin directory might be located on another domain, 现在,您的文件将在没有WordPress上下文的情况下运行。

Use the current URL as form action URL (or admin-post.php), 然后测试请求是否为POST 请求并处理表单提交。然后用303 status header.

SO网友:Mark Kaplun

假设没有符合您需求的联系人表单插件,在wordpress中正确的方法是编写一个适当的页面模板,并将其添加到包含和处理表单的主题中。完成后,您将显示表单的页面与页面模板相关联,然后您的操作路径仅为“”。

结束

相关推荐

下拉列表中的Contact Form 7“不可选”选项

我使用的是CF7,我需要一个带有不可选择类别“标题”的下拉列表,例如US StatesAL公司AK公司AR。。。等Countries阿夫加尼斯坦阿尔巴尼亚等。。。。“美国各州”和“国家”不能提交。Thankshttp://wordpress.org/extend/plugins/contact-form-7/[1]编辑:如果有人有同样的问题,我自己解决了这个问题我使用JQuery并将我想要的选项设为不可选择的空值。$(\"option:nth-child(1), option:nth-child(1)\"