передать URL в контактную форму - PullRequest
2 голосов
/ 23 июня 2011

Положение: Пользователь просматривает веб-страницу, используя предоставленную опцию контакта. После нажатия кнопки «Контакт» я хотел бы передать URL-адрес просматриваемой страницы в виде текста в поле этой контактной формы.

Отправной точкой является любая HTML-страница (page-xy.html). Существующая контактная форма написана на PHP, HTML и CSS (contact.php) и работает нормально. Я предполагаю, что Javascript может помочь выполнить эту процедуру.

После нажатия кнопки «Контакт» эта команда Javascript читает текущий URL: var strReferrer=window.location.href;

Вопрос : как передать эту переменную 'strReferrer' в открываемый файл 'contact.php'?
Далее переменная должна быть вставлена, например, в текстовое поле сообщения. Я бы предпочел не использовать куки для этого.

Надеюсь, у кого-то есть предложения, ведущие к решению, спасибо.

Моя цель примерно в обратном направлении к проблеме, описанной в этой теме

Ответы [ 4 ]

2 голосов
/ 23 июня 2011

Просто используйте скрытое поле ввода.

<form ...>
    <!-- Your contact form goes here -->
    <input type="hidden" id="strReferrer" name="strReferrer" value="whatever" />
</form>

Вы можете установить значение JavaScript, если хотите.

1 голос
/ 03 августа 2011

Вот решение, которое я реализовал.

На любой HTML-странице с опцией контакта вызовите простой скрипт, как указано ниже.Если JS недоступен, контактная форма открывается через 'href' и, конечно, без исходного URL.

<a href="/contact/contact-form.php" title="send an eMail" onclick="return(contact())">Contact the author</a>

..., который помещает строку текущего URL в 'strReferrer' и открывает новыйокно с вашим contact-form.php

<script>
var strReferrer = location.href;
function contact() {
window.open("/contact/contact-form.php?sourceURL="+strReferrer);
return false;}
</script>

PHP запрашивает строку с помощью 'strReferrer' и сохраняет ее в '$ params'.в contact-form.php:

//get the URL from the originating page (where this form has been called from)
$params  = $_SERVER['QUERY_STRING'];
...
...
// Insert '$params' into the text as part of the text to be eMailed.
// the eMail Content Header for the recipient
$_POST["text"] = $_POST["send"]["author"]." with e-mail address: ".$_POST["send"]["mail"]." sent the msg below: \n <$params> \n \n $texto";

Теперь вы знаете URL-адрес страницы, по которому ваши посетители решили связаться с вами.

0 голосов
/ 25 сентября 2017

Я решаю подобную проблему здесь

Я использую этот код для захвата URL страницы

<script type="text/javascript">
var segments = window.location.pathname.split('/');
var toDelete = [];
for (var i = 0; i < segments.length; i++) {
    if (segments[i].length < 1) {
        toDelete.push(i);
    }
}
for (var i = 0; i < toDelete.length; i++) {
    segments.splice(i, 1);
}
var filename = segments[segments.length - 1];
console.log(filename);
document.write(filename);
</script>

, но как мне поместить его в текстовое поле формы контакта?(Я использую плагин для контактной формы WordPress)

см. Здесь: https://nationalland.co.uk/tw31sp

0 голосов
/ 24 июня 2011

Вставьте эту строку в форму, и вы дадите реферер при предварительном указании данных формы.

<input type="hidden" id="referer" name="referer" value="<?php echo $_SERVER['HTTP_REFERER']; ?>" /> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...