我有点像PHP Noob,所以这可能是基本的。我在PHP / Bootstrap中有一个使用此示例博客的联系表单 https://jonbake.com/blog/bootstrap-3-contact-form-with-captcha/
我正在尝试修改sendmail.php文件以包含联系表单所在的URL。
即。我们有3个左右的不同联系表单,并希望确定用户从哪里发送联系电子邮件。
我可以将文件复制三次并更改主题以获得一个很好的例子。但理想情况下,我只想要一个sendmail.php文件,并传入表格/电子邮件发送到的URL。
问题
如何获取URL并将其传递到此PHP文件并修改为电子邮件?
修改
AJAX用于将POST发送到sendmail.php,如果这会对链接的传递方式产生影响。
//send the feedback e-mail
$.ajax({
type: "POST",
url: "../assets/library/sendmail.php",
data: $("#feedbackForm").serialize(),
success: function(data)
{
contactForm.addAjaxMessage(data.message, false);
//get new Captcha on success
$('#captcha').attr('src', '../assets/library/vender/securimage/securimage_show.php?' + Math.random());
},
error: function(response)
{
contactForm.addAjaxMessage(response.responseJSON.message, true);
}
});
return false;
});
由于
答案 0 :(得分:2)
首先确保您的表单包含.php
扩展名,以便以下工作:(请参阅Nota)。
<input type="hidden" name="the_link" value="<?php echo "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; ?>">
将当前URL传递给表单的隐藏属性(应该是POST方法)。
然后使用类似的东西:
$link = $_POST['the_link'];
如果您正在使用GET方法,只需在我的答案中将POST更改为GET。
Nota:如果您当前正在使用.html
文件,则可以指示Apache将.html
文件视为PHP。
示例:(从http://www.besthostratings.com/articles/php-in-html-files.html拉出/借用)。
对于使用PHP作为apache模块的Web服务器:
AddType application/x-httpd-php .html .htm
对于以CGI身份运行PHP的Web服务器:
AddHandler application/x-httpd-php .html .htm
如果你想做ASP模仿:
对于PHP作为模块:
AddType application/x-httpd-php .asp
OR
对于PHP作为CGI:
AddHandler application/x-httpd-php .asp
和另一个关于主题的问答:
答案 1 :(得分:1)
您可以在每个联系表单中设置一个标记,并相应地处理电子邮件正文:
<强> contact_form_1.html 强>
<form>
<!-- code -->
<input name="referer" type="hidden" value="contact_form_1">
<!-- code -->
</form>
<强> sendmail.php 强>
<?php
// code
$mailbody.="Referer: ".$_POST["referer"];
// code
?>