如何在没有类型的情况下使用GET在php中传递变量?

时间:2011-05-20 16:08:37

标签: php

 <form method="get" action=..... >

                      Food <input name="food" type="text"  size="1" />
                  Pizza <input name="pizza" type="text"  size="2" />
                  Drink <input name="drink" type="text" size="2"/>           

现在我想传递第三个变量,它是URL中的食物+披萨+饮料的串联 我不想创建新的<input name="total" type="text" size="2"/>

这可能吗?

编辑:

我想在提交值之前这样做。

I will have a url like
 http://www.abc.com/&food=tasty&pizza=cheeze&drink=pepsi
I want the url to be
 http://www.abc.com/&food=tasty&pizza=cheeze&drink=pepsi&total=tastypizzacheezepepsi

4 个答案:

答案 0 :(得分:4)

为什么不在服务器端执行此操作?

$allTogether = $_GET["food"] . $_GET["pizza"] . $_GET["drink"];

答案 1 :(得分:3)

一旦提交它只是连接(验证后)

$total = $_GET['food'] + $_GET['pizza'] + $_GET['drink'];
         //assuming the _GETs were numbers, otherwise use `.` to concatenate

或者如果你不想这样做,你必须在客户端做一些JavaScript魔法(但这并不总是值得信赖)

答案 2 :(得分:2)

假设您不喜欢使用PHP进行连接的上述答案,您可以使用Javascript来执行此操作。

<script type="text/javascript">
function addTotal(food, pizza, drink) {
   document.getElementById("total").value = food + drink + pizza;
}
</script>

<form method="get" name="fname" action="" onSubmit="addTotal(document.fname[0].value,document.fname[1].value,document.fname[2].value)" >
Food <input name="food" type="text"  size="1" />
Pizza <input name="pizza" type="text"  size="2" />
Drink <input name="drink" type="text" size="2"/> 
<input type="hidden" name="total" id="total" value="" />
</form>

在您的PHP文件中,您现在应该

$_GET['food'];
$_GET['pizza'];
$_GET['drink'];
$_GET['total'];

答案 3 :(得分:1)

这应该可以解决问题

$sep = ""; //if you want a space in between each just change this to a space.
$concat = implode($sep, array($_GET['food'], $_GET['pizza'], $_GET['drink']));