通过超链接传递表单输入名称

问题描述:

我想将输入标签值传递给另一个页面,只需将数量的值与价格相乘并返回更新后的价格。问题是当我通过get方法的qty值时仅传递数量的值,但不传递其他值。通过超链接传递表单输入名称

cart.php

echo" <form method='get' name='form1' action='update_cart.php?id={$id}&name={$name}&price={$price}&qty=$_GET['qty']'>";//the problem comes here. 

echo"<input type='number' name='qty' max='10'> 
    <input type='submit' value='update'></form>"; 

update_cart.php

$id = isset($_GET['id']) ? $_GET['id'] : ""; 
$name = isset($_GET['name']) ? $_GET['name'] : ""; 
$qty=isset($_GET['qty'])? $_GET['qty']: ""; 
$price=isset($_GET['price'])? $_GET['price']: ""; 

$price=$price*$qty; 
header('Location: cart.php?action=quantity_updated&id=' . $id . '&name=' . $name . '&price='.$price . '&qty='.$qty); 

当我点击更新按钮给数量就说明这样的一个值之后。

http://localhost/abc/cart.php?action=quantity_updated&id=&name=&price=0&qty=2 
+0

你的表单发送到update_cart.php,但你有Cart_Update.php显示,你的网址是cart.php ...? – Andrew

+0

@Andrew我编辑了我的问题。问题是,当我更新cart.php的值时,它将值传递给update_cart.php,然后在计算价格后,它返回到带有更新价格的cart.php。 – tabia

form method="get"自动传递变量。

您确实(也可以)不需要将查询字符串附加到action属性。

但是,如果使用<input type="hidden" name="qty" value="<?=$qty?>" />风格,则您需要在表单中表示这些数据。

,如果你想传递一些值,你可以为它选择2路:

在你形成你可以使用输入与隐藏式。 如果使用隐藏类型输入,则可以在一个页面上使用数据。

<form method='get' action='?????'> 
<input type='hidden' name='?????' value='?????'> 
<input type='hidden' name='?????' value='?????'> 
.... 
... 
.. 
<input type='number' name='qty' max='10'/> 
<input type='submit' value='submit'/> 
</form> 

您可以使用会话保存数据并在另一个页面中使用它。 如果你使用session,你可以在所有的php页面中使用数据。 第1页:

<?php 
session_start(); 
$_SESSION['name']='value'; 
?> 

第2页:

<?php 
session_start(); 
echo $_SESSION['name']; // value 
?> 
+0

我可以使用此会话变量通过链接传递吗? as'say'.. action ='update_cart.php?id = {$ id}&name = {$ name}&price = {$ price}&qty = $ _ SESSION ['qty']'>' – tabia

+0

@tabia session是一个很好的方案用于将您需要的数据保存在应用程序的所有部分(例如登录信息,购物车等...) 为您的程序使用隐藏输入传输数据很好... –

+0

好吧!我试过会议。但是,当我将一个数字作为会话值传递时,它将完全打印在另一页上!但是当我尝试'$ _Session ['qty'] = $ _ Post ['qty']'它不工作! – tabia

您此行语法有错误。

echo" <form method='get' name='form1' action='update_cart.php?id={$id}&name={$name}&price={$price}&qty=$_GET['qty']'>"; 

将其更改为...

echo" <form method='get' name='form1' action='update_cart.php?id=".$id."&name=".$name."&price=".$price."&qty=".$_GET['qty']."'>"; 

编码快乐!