Скопируйте код целиком, и запустите в браузере. После тестирования вам станет понятен принцип его работы, и тогда подправите в коде ссылки, а так же искомые и заменяемые значения (всё прокомментировано):
Спасибо большое! Переделал под себя, больше времени заняло интегрирование в шаблон wordpress)
А можно сделать так, чтобы форма отображалась, если параметров после "?" нет?
Ну тогда надо значения, принятые первыми (из формы), где то хранить, т.к. после приёма значений из адресной строки, ранее принятые значения из формы будут сброшены.
Первыми берутся значения из адресной строки http://example.com?utm_term=...&utm_content=... Они обрабатываются скриптом из 1-го сообщения, подменяются и формируют ссылку.
В эту же ссылку нужно вставить данные, которые вводятся в поля формы, обрабатываемые подобным скриптом.
Т.е. получается, нужно передать get, обработать и сохранить, а данные из post обработать и прикрутить к ним get, верно?
Подскажите, пожалуйста, как это сделать.
как можна создать ссылку, подставляя параметры из адресной строки и из формы?
Одним запросом передать сразу пост и гет? Это не возможно. Или пост (по нажатию на кнопку), или гет (по клику по ссылке). А зачем вам сразу два метода одновременно? Ссылку сгенерировать можно любым из них.
Два значения берутся из формы и указывают разделы в будущей ссылке, и два значения берутся из адресной строки, передаются как параметр (после "&") для отображения в статистике.
Всем привет! Подскажите, пожалуйста, как можна создать ссылку, подставляя параметры из адресной строки и из формы?
Данные из адресной строки принимаются и подменяются:
Строитель
нет, не работает
решилось, просто кодировку файла на хостинге изменил) правда, кириллицу в новых_значениях также не поддерживает, но это не критично.
Строитель
Работает! И последний вопрос: если я указываю 'ключевое слово' кириллицей и несколько слов, то замена не происходит. Как это решается?
Даже нет, всё кириллическое оно отбраковывает.
Так, кодировка не та (ну, как обычно )
Осталось сделать так, чтобы:
если utm_term=ключевое_слово_1 => заменяем на новое_значение_1
если utm_term=ключевое_слово_2 => заменяем на новое_значение_2 и т.д. если utm_term=значения_нет_в_этом_списке=> заменяем на значения_нет_в_этом_списке
Как правильно это указать?
Если вам заранее не известны все ключевые слова, то наверное никак, ведь для замены чего-то на что-то необходима какая-то ассоциативная связь, верно?
Если вам не известен список ключевых слов, то как вы определите, что и на что надо заменить? -- понимаете о чём я?
так я ж говорю, мне как раз нужно указать список этих слов, все ключевые слова, по которым пользователи переходят мне известны, ведь я их указываю в рекламной кампании! это ключевое слово, а не поисковый запрос, т.е. у меня есть определенный список этих слов.
И задача, чтобы код проверял совпадает ли utm_term, который вытаскивает GET из ссылки с тем utm_term, который указан в списке и, если да, то заменял это значение на новое значение, а если нет, то оставлял в первоначальном виде.
Комбинации - это список ключевых слов, который мне нужно указать и указать, на какое значение изменить (метка времени не подходит, так как я не смогу расшифровать, за какое ключевое слово она отвечает - она постоянно будет разной).
Я говорил, что мне неизвестно, что передаст {keyword} в utm_term, потому что вы указали в первом варианте кода {keyword_1}, т.е. имели ввиду конкретное значение, правильно? Но я ведь не могу указать одно ключевое слово, хотя пользователь пришел с другого. Или я не так понял?
{keyword} передает в utm_term ключевые слова. В коде {keyword} нигде не участвует именно в таком виде.
Осталось сделать так, чтобы:
если utm_term=ключевое_слово_1 => заменяем на новое_значение_1
если utm_term=ключевое_слово_2 => заменяем на новое_значение_2 и т.д. если utm_term=значения_нет_в_этом_списке=> заменяем на значения_нет_в_этом_списке
Как правильно это указать?
Точнее будет так -- если $utm_term не пуста, то заменяем её значение (что бы в ней не находилось) на текущую метку времени. Иначе - ничего не делаем, кроме инициализации переменной $utm_term (что бы скрипт не генерировал уведомлений об обращении к не существующей переменной, ведь обращение к ней прописано в html-шаблоне, и этот шаблон выводится в браузер НЕ зависимо от значения переменной $utm_term)
есть, вернуло значение в статистику 1500575243, все верно)
Цитата:
$arr = [
$utm_term="автобусы междугородние" => "1111" // Пока будем использовать временную метку
];
все передается!а нет, поспешил я..
а как правильно добавить несколько значений utm_term?
поверхностно)
проверяем значение -> если $utm_term = ключевое_слово идем дальше , нет - оставляем пустым -> strtr выводит $utm_term с заменой из массива. Верно?
Возможно, я что-то не так объяснил. Вот в этой части ссылки sub_id4=<?=$_GET['utm_term']?> - utm_term имеет значение ключевого слова, например, "php для новичков". GET берет это значение из адресной строки браузера(насколько я понял). То есть ссылка из которой он берет значения выглядит