Я немного 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;
});
Спасибо
Сначала убедитесь, что ваша форма содержит .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
и другой вопрос&А на стэк на эту тему:
Вы можете установить флажок в каждой контактной форме и соответственно обработать тело письма:
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
?>