Передача URL в контактную форму PHP

Я немного Noob PHP, так что это может быть основным. У меня есть контактная форма в 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;
});

Спасибо

1

Решение

Сначала убедитесь, что ваша форма содержит .php расширение для того, чтобы следующее работало: (проконсультируйтесь с Nota).

<input type="hidden" name="the_link" value="<?php echo "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; ?>">

передача текущего URL внутри скрытого атрибута вашей формы (который должен быть методом POST).

Затем используя что-то вроде:

$link = $_POST['the_link'];

в вашем файле sendmail.php.

Если вы используете метод GET, просто измените POST на GET в моем ответе.


Nota: Если вы в настоящее время используете .html файл, вы можете поручить Apache для лечения .html файлы как PHP.

Примеры: (вытащил / позаимствовал у http://www.besthostratings.com/articles/php-in-html-files.html).

Для веб-серверов, использующих PHP в качестве модуля apache:

AddType application/x-httpd-php .html .htm

Для веб-серверов, работающих под PHP как CGI:

AddHandler application/x-httpd-php .html .htm

В случае, если вы хотите сделать мимику ASP:

Для PHP как модуля:

AddType application/x-httpd-php .asp

ИЛИ ЖЕ

Для PHP как CGI:

AddHandler application/x-httpd-php .asp

и другой вопрос&А на стэк на эту тему:

2

Другие решения

Вы можете установить флажок в каждой контактной форме и соответственно обработать тело письма:

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
?>
1

По вопросам рекламы [email protected]