PHP-$\u POST和$\u会话试图显示多个数据
我有一个表单如下所示:PHP-$\u POST和$\u会话试图显示多个数据,php,forms,session,post,Php,Forms,Session,Post,我有一个表单如下所示: $dynamiclist = '<table align="center" width="60%" border="0" cellspacing="5" cellpadding="8"> <tr height="20"></tr> <tr> <td width="70%
$dynamiclist = '<table align="center" width="60%" border="0" cellspacing="5" cellpadding="8">
<tr height="20"></tr>
<tr>
<td width="70%" valign="top" align="left"> <br />' . $name . ' <br /><br />$' . $price . '<br /><br />
<form id="form1" name="form1" method="post" action="cart.php">
<input type="hidden" name="pid" id="pid" value=" ' . $id . '"/>';
echo $dynamiclist;
$i=0;
foreach(explode(',', $keywords) as $keyword) {
$keyword = trim($keyword);
$chkname = "checkbox{$i}";
$i = $i+1;
echo '<input type="checkbox" name="chkboxes[]" value="'.$keyword.'" id="chk_'.$keyword.'" /><label for="chk_'.$keyword.'">'.$keyword.'</label>'."<br />\r\n";
}
echo '<input type="submit" name="button" id="button" value="Add to Order"/> </form> </td></tr></table>';
}
$dynamiclist='1!'
$名字。”
$'$价格。”
';
echo$dynamiclist;
$i=0;
foreach(将(“,”,$keywords)分解为$keyword){
$keyword=trim($keyword);
$chkname=“复选框{$i}”;
$i=$i+1;
回显'.$keyword'.''。“
\r\n”;
}
回声';
}
正如您在上面看到的,我有一个名为“pid”的隐藏字段,从数据库中提取项目的ID,然后我还有一个名为checkbox的输入类型复选框
我遇到的问题是,我无法在新页面上同时显示这两个数据
if(isset($_POST['chkboxes'])) {
foreach($_POST['chkboxes'] as $chkbox) {
echo 'Checkbox checked: '.$chkbox."<br />\r\n";
}
}
if(isset($_POST['pid'])){
$pid = $_POST['pid'];
$wasfound = false;
$i = 0;
//if the cart session variable is not set or cart array is empty
if(!isset($_SESSION["cart_array"]) or count($_SESSION["cart_array"]) < 1){
//Run if the cart is empty or not set
$_SESSION["cart_array"] = array(1 => array("item_id" => $pid, "quantity" => 1));
//establishing the cart_array variable in a session/multidimesional array -- database id assoc $pid from pid in form.
}else {
array_push($_SESSION["cart_array"], array("item_id"=> $pid, "quantity" => 1 ));
}
header("location: cart.php");
exit();
}//close if condition
if(isset($\u POST['chkboxes'])){
foreach($_POST['chkboxes']作为$chkbox){
echo“复选框已选中:”.$chkbox。“
\r\n”;
}
}
如果(isset($_POST['pid'])){
$pid=$_POST['pid'];
$wasfound=false;
$i=0;
//如果未设置购物车会话变量或购物车数组为空
如果(!isset($_会话[“购物车数组”])或计数($_会话[“购物车数组”])<1){
//如果购物车为空或未设置,则运行
$\会话[“购物车数组”]=数组(1=>数组(“项目id=>pid,“数量”=>1));
//在会话/多维数组中建立cart_数组变量——数据库id assoc$pid from pid form。
}否则{
数组推送($\会话[“购物车数组”],数组(“项目id=>pid,“数量”=>1));
}
标题(“位置:cart.php”);
退出();
}//关闭如果条件
我已尝试删除
的$\u POST['pid']
信息,然后$\u POST['chkboxes']
数据按原样显示。有什么想法吗?我会选择正确的答案。谢谢大家! 我测试了您的代码,并有一个额外的}
。您的代码对我来说运行得非常好。除了第一个文件(表单)末尾的额外}
。编辑您的问题,然后发布您的$\u会话
代码。因为我不明白会话的问题在哪里。