#php #forms
#php #формы
Вопрос:
В настоящее время я пытаюсь разработать базовую форму направления. Процесс выглядит следующим образом:
-
Реферер будет использовать форму для отправки электронного письма своим друзьям. (Пример: http://www.graphicgoldfish.com/refer.html ) Как вы можете видеть, форма требует их имени пользователя и их IGN (внутриигровое имя). Это очень важно.
-
Ссылка генерируется с использованием информации о реферере в качестве параметров. Параметры будут использоваться для вознаграждения реферера, как только друг заполнит вторую форму. (Пример: http://www.graphicgoldfish.com/referral.html?ref_username=LRRoberts0122amp;ref_ign=DerpyGoldfish )
-
При нажатии на эту ссылку открывается вторая форма, в которой друг может ввести свою информацию. Моя проблема в том, что когда друг отправляет форму, параметры из исходного URL-адреса не передаются.
Как я могу сохранить эти параметры после отправки?
Мой PHP:
<?php
echo $_GET['ref_username'];
echo $_GET['ref_ign'];
if (isset($_GET['ref_username'])) {
$r_username = $_GET['ref_username'];
}
if (isset($_GET['ref_ign'])) {
$r_ign = $_GET['ref_ign'];
}
Похоже, ничто из этого не делает то, что я хочу. Я предполагаю, что он не существует, потому что, если я запускаю PHP и вручную добавляю параметры, он работает. Я просто не уверен, как сделать это автоматически.
РЕДАКТИРОВАТЬ: параметры передаются в HTML-файл из сгенерированной ссылки. Другу необходимо заполнить форму. Как я могу получить значения, которые были переданы в параметрах в HTML-файл, и объединить их с действием (где оно отправляется в файл PHP)?
Это не работает для меня.
<form action="http://www.graphicgoldfish.com/php/referral.php?ref_username=<?php echo $ref_username ?>amp;ref_ign=<?php echo $ref_ign?>" method="POST">
Комментарии:
1. Вы можете поместить свои переменные get в действие вашей формы, например
<form action="somefile.php?get_variables=here" method="post">
2. вариант 1. поместите их в форму (скрытые элементы или действие) 2. используйте сеанс
Ответ №1:
Во-первых off…in ваш generator.php форма. Вы используете POST, а не GET
Итак, вы должны повторно использовать свои переменные как таковые.
if (isset($_POST['ref_username'])) {
$r_username = $_POST['ref_username'];
}
if (isset($_POST['ref_ign'])) {
$r_ign = $_POST['ref_ign'];
}
Во-вторых, когда вы создаете эту ссылку с параметрами в ней. Вы передаете параметры в HTML-файл.
http://www.graphicgoldfish.com/referral.html?ref_username=LRRoberts0122amp;ref_ign=DerpyGoldfish
Вам нужно передать их в файл php, чтобы это работало…
http://www.graphicgoldfish.com/referral.php?ref_username=LRRoberts0122amp;ref_ign=DerpyGoldfish
Комментарии:
1. Означает ли это, что я должен поместить свой HTML-файл в PHP-файл? Потому что это будет для веб-сайта, который использует Enjin. И у меня нет доступа к такому фактическому файлу. 🙁 Есть ли какой-либо другой способ сделать это?
2. расширения файлов не всегда соответствуют типу файла.
3. Я должен заставить URL перейти на определенную HTML-страницу. Можно ли встроить PHP для захвата переменных, а затем отправить их при отправке второй формы?
4. если страница «html» не анализирует php, то нет.
5. Хорошо, так что да. Параметры передаются в HTML-файл. Другу необходимо заполнить форму. Как я могу получить значения, которые были переданы в параметрах в HTML-файл, и объединить их с действием (где оно отправляется в файл PHP)?