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

时间:2015-10-20 21:00:17

标签: php html pdo

我正在尝试将输入标记值传递到另一个页面,只需将qty的值与price相乘并返回更新后的价格。问题是当我使用get方法传递qty的值时,它只传递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);

当我给qty一个值后点击更新按钮时,它会显示这样的内容。

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

3 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

如果你想传递一些值,你可以选择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>

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

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

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

答案 2 :(得分:0)

此行的语法包含错误。

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']."'>";

快乐的编码!