Какой самый ПРОСТОЙ способ добавить данные формы в URL-адрес?
-
19-09-2019 - |
Вопрос
Я создал простую форму оформления заказа для использования с мобильным веб-сайтом:
<form action="" method="GET">
First Name:<br />
<input type="text" name="firstname" />
<br /><hr />
Last Name:<br />
<input type="text" name="lastname" />
<br /><hr />
Phone Number:<br />
<input type="text" name="phonenumber" />
<br /><hr />
Address:<br />
<input type="text" name="address" />
<br /><hr />
Town:<br />
<input type="text" name="town" />
<br /><hr />
County:<br />
<input type="text" name="county" />
<br /><hr />
Postcode:<br />
<input type="text" name="postcode" />
<br /><hr />
Email:<br />
<input type="text" name="email" />
<br /><hr />
<input type="submit" value="Submit" />
</form>
Созданная информация должна передаваться только в виде URL-адреса.В данном случае в качестве базового URL указывается domain.com.URL-адрес, который создается и по которому осуществляется переход, должен выглядеть следующим образом:domain.com/p=firstname+lastname+123+456+7890+123+address+street+etc .....
Поскольку это предназначено для мобильного сайта, JavaScript не могу быть использованным.PHP был бы идеальным, поскольку у меня есть некоторые знания, но возможны и другие решения.
Есть какие-нибудь рекомендации о том, с чего начать или что исследовать?
Решение
Андерс,
Если вам нужно опубликовать это на другом сайте, то вам следует использовать перенаправление.
Вот необходимые шаги ->
- Разместите приведенную выше форму на своей собственной странице PHP
- На этой странице сделайте перенаправление на страницу, на которую вам нужно опубликовать, указав строку URL в нужном вам формате со вставленными переменными.
Как сделать перенаправление на PHP:
header( 'Location: http://www.yoursite.com/new_page.html' )
Другие советы
Если вы работаете с сервером Apache, вы можете использовать mod_rewrite для преобразования URL-адреса в регулярное выражение для всего, что вам захочется.
Использование method="GET"
(вместо POST), чтобы браузер передавал данные формы как часть URL-адреса (в форме action?fieldName=value&fieldName2=value2
).
Обязательно ли вам иметь именно такой формат URL-адреса?Разве вы не можете просто изменить метод формы на ПОЛУЧИТЬ и использовать стандартный формат строки запроса?Если вам действительно нужен этот формат, вы можете перенаправить его на сервер.Честно говоря, я думаю, что обычная строка запроса лучше (что, если вы добавите поле?)
Не совсем уверен, о чем вы спрашиваете, но, похоже, вы хотите, чтобы приведенная выше форма отправляла себя по URL-адресу со всеми переменными, находящимися в строке URL.ЕСЛИ это так, вы должны изменить метод на GET.Что касается переноса этих переменных на вашу принимающую страницу, с PHP все в порядке.Синтаксис в PHP для захвата get var следующий
$_GET["fname"];