Запись значения переменной PHP в другую переменную в форме HTML - PullRequest
0 голосов
/ 16 декабря 2011

Я хотел бы понять, почему ниже не работает. Это код, который я унаследовал, и он работал на хостинге предыдущего веб-мастера.

На странице есть переменная $ service в URL, отсюда эхо $ _GET ['service'] ниже для отображения значения переменной на странице. Однако мы хотим использовать это же значение переменной на следующей странице.

В настоящее время я не могу использовать echo $ _POST или я даже попытался отобразить это на следующей странице с помощью echo $ _GET. значение. Должно быть что-то устаревшее или неправильное в <input type="hidden" name="service" value="<? echo $service; ?>" />.

Я пробовал value = echo $ _GET ['service']; но это ничего не изменило,

Благодарен за помощь.

Спасибо.

 <?php echo $_GET['service']; ?>

<form action="send-order.php" method="post">
Email<br /><input name="email" value="<?echo $email;?>" type="text" style="width: 350px;" />

<input type="hidden" name="service" value="<? echo $service; ?>" />

<input type="submit" value="Order now" /></p>
 </form>

Ответы [ 2 ]

0 голосов
/ 16 декабря 2011

$ service - это переменная.

http://example.com?service=foo является параметром GET.

$ service - это не то же самое, что $ _GET ['service']

$ _ POST ['service'] не совпадает с $ _GET ['service']


Тем не менее, метод формы "post". Если вы публикуете на той же странице, где расположена форма, вместо этого используйте $ _POST ['service']. Или измените метод формы на «get» и используйте $ _GET ['service'].

0 голосов
/ 16 декабря 2011

Хм, во-первых, я вижу, что ваше действие формы - это POST (вместо GET), поэтому естественно, что вы не добавляете служебные данные в URL ...

Другое дело, вы говорите, что код работал ранее: это может быть для использования register_globals (включено; в более темное время, которое было обычной настройкой, сейчас по умолчанию он отключен) в настройках предыдущего сервера, что автоматически делает доступным для var $service то, что должно было вызываться с $_GET['service'] (или $ _POST ['service'], для чего это важно).

Я до сих пор не понимаю, откуда в вашем URL появляется параметр "p" из вашего комментария. Если вы измените действие формы на action = "get", у вас будет что-то вроде "email = кое-что & service = somethig", но 'p'?

...