2010-02-10 6 views
0

Я создал простую форму оформления заказа для использования с мобильным веб-сайт:Что такое EASIEST способ добавления данных формы в URL?

<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 был бы идеален, поскольку у меня есть некоторые знания, но возможны другие решения.

Любые указания о том, с чего начать или какие исследования?

ответ

1

Андерс,

Если вы нуждаясь отправить это на другой сайт, то вы должны использовать редирект.

Вот шаги, необходимые ->

  1. Пост выше формы на ваш PHP странице
  2. На этой странице, сделать редирект на страницу, которую нужно отправить к с строка URL является формат, который вам нужен, с вставленными вами переменными.

Чтобы сделать редирект в PHP:

header('Location: http://www.yoursite.com/new_page.html') 
+0

Да, именно так вы это сделаете. – chamiltongt

+0

Просто убедитесь, что вызов header() происходит в верхней части вашего php-файла после чтения переменных формы. – chamiltongt

0

Если это сервер Apache, с которым вы работаете, вы можете использовать mod_rewrite для регулярного выражения URL-адреса для всего, что хотите.

+0

Или IIS Rewrite, на другом конце спектра. –

+0

Разумный, но я не уверен в сервере в настоящее время. –

0

Используйте method="GET" (вместо POST), чтобы заставить браузер передавать данные формы как часть URL-адреса (в форме action?fieldName=value&fieldName2=value2).

+0

Итак, в моей ситуации, используя action = "http://domain.com?p=firstname=value& Некоторые из них имеют смысл, но мне кажется, что создаст URL-адрес, который будет первым: = john + lastname = smith скорее, чем john + smith. К сожалению, точный формат переданного URL-адреса важен. –

+0

Правильно, вы получите первое имя = john & lastname = smith. Невозможно изменить это. Если у вас более строгие требования, вы не будете (например, отправьте форму на страницу PHP, которая переформатирует данные и отправит фактический, правильно отформатированный запрос). – SoapBox

0

У вас должен быть такой точный формат URL? Не можете ли вы просто изменить метод формы на GET и использовать стандартный формат строки запроса? Если вы действительно хотите этот формат, вы можете перенаправить его на сервер. Честно говоря, я думаю, что регулярная строка запроса лучше (что, если вы добавите поле?)

+0

Мне сказали, что мне нужно, чтобы формат на веб-сайте, на который я имею в виду. Что значит «если я добавлю поле»? –

+0

Скажите, что добавлено второе имя.Тогда новый ожидаемый формат предположительно будет domain.com/p=firstname+middlename+lastname+123+456+7890+123+address+street+etc. Если на сайте появляется запрос, в котором отсутствует поле, они не будут знать, что отсутствует, и могут, например, интерпретировать lastname как данные middlameame. Вот почему имена полей важны. –

0

Не совсем уверен, что вы просите, но, похоже, вы хотите, чтобы форма выше отображалась в URL-адресе со всеми переменные находятся в строке URL. ЕСЛИ это так, вы должны изменить метод на GET. Что касается переноса этих переменных на вашу страницу получения, PHP в порядке. Синтаксис в PHP для захвата ПОЛУЧИТЬ ВДП

$_GET["fname"]; 
+0

Правильно, я понимаю, что GET необходимо, но что касается смещения всех переменных ... Боюсь, я все еще учусь. –