注意:未定义的索引:第8行的E:\ wamp \ www \ ShoppingCartV4 \ cartv4.php中的txtQuant
注意:未定义的索引:第56行的E:\ wamp \ www \ ShoppingCartV4 \ cartv4.php中的txtQuant
我的更新代码:
if(isset($_GET["update"]))
{
$i = $_GET["update"];
$_SESSION["Qnty"] = $_GET["txtQuant"];
$_SESSION["amounts"][$i] = $_SESSION["Qnty"][$i];
}
我的HTML代码
<?php
if(!empty($_SESSION["products"])){
for ($i=0; $i< count($_SESSION["products"]); $i++) {
?>
<tr>
<td><?php echo($_SESSION["products"][$i]); ?></td>
<td width="10px"> </td>
<td><input type="text" name="txtQuant[]"></td>
<td width="10px"> </td>
<td><?php echo($_SESSION["amounts"][$i]); ?></td>
<td width="10px"> </td>
<td><a href="?update=<?php echo($i); ?>">Update</a></td>
</tr>
<?php
}
}
?>
我该如何解决这个问题?谢谢
答案 0 :(得分:0)
您是否将该表单包装在表单标记中?你应该用标签包装html代码。否则,没有实际提交的表单,$ _GET数组中唯一的内容将是更新。
session_start()只是初始化会话,我看到的代码中没有任何东西将txtQuant添加到会话中。如果你正在做的是,有人点击“更新”链接并提交你的“我的更新代码”片段,那么它将无效。您需要以表格形式将表格包裹在底部:
<?php
if(!empty($_SESSION["products"])){
?>
<form>
<?php
for ($i=0; $i< count($_SESSION["products"]); $i++) {
?>
<tr>
<td><?php echo($_SESSION["products"][$i]); ?></td>
<td width="10px"> </td>
<td><input type="text" name="txtQuant[]"></td>
<td width="10px"> </td>
<td><?php echo($_SESSION["amounts"][$i]); ?></td>
<td width="10px"> </td>
<td><input type="submit" value="Update"></td>
<td><input type="hidden" name="update" value="<?php echo($i); ?>" /></td>
</tr>
<?php
}
?>
</form>
<?php
}
?>