当第二个数组值存储在php中时,数组值被替换
Array value is replaced when second one stores in php
我将会话值存储到从URL获取的数组中,并尝试显示它(在购物车中获取产品的大小)。但是第一个值将被第二个值替换。
我代码:if(isset($_POST['radio'])){
$_SESSION['sz']=$_POST['radio'];
$si=$_SESSION['sz'];
}
<a href="product_detail.php?pdt_id='.$pdid.'&add=' .$pdid .'&size='.$si.'"
class="cartBtn" onclick="return fun1()">Add to cart</a>';
?>
显示页面:
$rt=$_GET['size'];
$_SESSION['wer']=$rt;
$array = $_SESSION['wer']; //Assigns session var to $array
//print_r($array);
echo $array[$x];
}
关于第一部分错误:
<?php
if(isset($_POST['radio'])){
$_SESSION['sz']=$_POST['radio'];
$si=$_SESSION['sz'];
}
<a href="product_detail.php?pdt_id='.$pdid.'&add=' .$pdid .'&size='.$si.'" class="cartBtn" onclick="return fun1()">Add to cart</a>';
?>
你的标签是完全错误的@赫纳说。它应该在php标签之外,或者在里面加上"echo",像这样:
echo "<a href='product_detail.php?pdt_id=".$pdid."&add=".$pdid."&size=".$si."' class='cartBtn' onclick='return fun1()'>Add to cart</a>";
你不能从if语句中访问$si变量。正如这里所写的,如果你的$si之前没有声明(因为你说它不是你的完整代码…),那么$si(在链接href中)不存在。因此,你应该在if语句之前声明它,或者把你的链接(一个标签)也放在if语句中!
如果你的"$_POST['radio']"没有设置怎么办??会发生什么呢?代码失踪……!! $si是申报的吗?
关于第二部分:
<?php
for( $x = 0, $max = count($array); $x < $max; ++$x ) {
$rt=$_GET['size'];
$_SESSION['wer']=$rt;
$array = $_SESSION['wer'];
echo $array[$x];
}
?>
我不明白你想干什么…需要更多代码/信息…没有你的全部代码,我无法提供更多帮助…
编辑:
下面是一个非常简单的示例,向您展示如何将get变量保存到会话数组中。
第一页(pageOne.php):
<?php
session_start();
if(!(isset($_SESSION['myTest']))){
$_SESSION['myTest'] = "AWESOME";
$_SESSION['varToKeep'] = [];
}else{
echo "A session is already started. This is : ".$_SESSION['myTest']."<br/>";
if(count($_SESSION['varToKeep']>0)){
echo "There are ".count($_SESSION['varToKeep'])." vars in the array!<br/>";
for($i=0;$i<count($_SESSION['varToKeep']);$i++){
echo "Item ".$i." : ".$_SESSION['varToKeep'][$i]."<br/>";
}
}
}
echo "<br/>Click below to add a value in array<br/>";
$random = rand(1,100);
echo "<a href='pageTwo.php?mygetvar=STACKTEST".$random."'>Click here</a>";
?>
第二页(pageTwo.php):
<?php
session_start();
echo "myTest value is : ".$_SESSION['myTest']."<br/><br/>";
$value = $_GET['mygetvar'];
$_SESSION['varToKeep'][] = $value;
echo "<a href='pageOne.php'>CLICK HERE TO RETURN ON PAGE ONE!</a>";
?>
相关文章:
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- Javascript替换字节数组序列
- 如何检查和替换数组中的值
- Javascript:字符串中有效的基于数组的替换
- 用数组(javascript)中的值替换regex捕获
- 将数组存储到本地存储中,而不是替换
- 将对象值替换为外部数组中的值
- 如何在 JavaScript 中将数组中的 [ ] 替换为 var 结果
- 合并/替换Javascript数组
- 使用Javascript regex替换“index”数组字符串
- 将数组值替换为循环以创建新数组
- 无法替换Javascript中对象数组的键
- JavaScript:替换数组中的字符串
- 用字符替换将字符串之类的数组替换为数组
- 挖空 JS - 数组替换,同时保留相同的元素
- API/应用程序设计:用新数组替换非常大的数组或修改现有数组
- jQuery:用数组替换数组
- 用数组替换重复的代码,并对其进行迭代
- 如何用jQuery对象数组替换一个DOM元素?
- DOM -用节点数组替换节点(有效地)