如何在php中使用GET而不使用type传递变量?

如何在php中使用GET而不使用type传递变量?,php,Php,一旦提交,只需连接(验证后) 或者,如果您不想这样做,您必须在客户端执行一些JavaScript魔术(但这并不总是可信的)为什么不在服务器端执行呢 $total = $_GET['food'] + $_GET['pizza'] + $_GET['drink']; //assuming the _GETs were numbers, otherwise use `.` to concatenate 这应该能奏效 $allTogether = $_GET["food"] . $_

一旦提交,只需连接(验证后)


或者,如果您不想这样做,您必须在客户端执行一些JavaScript魔术(但这并不总是可信的)

为什么不在服务器端执行呢

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

这应该能奏效

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

假设您不喜欢使用PHP连接上面的答案,您可以使用Javascript来连接

$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']));

您打算使用
而不是
+
来连接字符串值,也许?@Phoenix,这取决于信息的内容。我明白你的意思了。我没有想到这些输入的值可以是数字。示例中有这些值的文本。@Tomalak,那是在OP更新Q之后,我为该案例添加了一条注释。您如何区分订购11种食物、2种比萨饼和1种饮料的人与订购1种食物、1种比萨饼和21种饮料的人?两者都是
1121
@MarcB我想OP的意思是添加,而不是连接。这里是:您的更新:为什么要添加get变量?
$allTogether = $_GET["food"] . $_GET["pizza"] . $_GET["drink"];
$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']));
<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>
$_GET['food'];
$_GET['pizza'];
$_GET['drink'];
$_GET['total'];