
HTML
<form method="post" action="array2.PHP"> Select amount of tickets you require. <select name="options[]"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> </select> Select the acomIDation you require. <select name="options2[]"> <option value="camPing">CamPing</option> <option value="caravan">Caravan</option> </select> <input type="submit" value="Go!" /></form>
array2.PHP
<?PHPsession_start();$checked = $_POST['options'];$checked2 = $_POST['options2'];$_SESSION['user'] = true;$_SESSION['checked'] = $checked;$_SESSION['checked2'] = $checked2;@R_419_5548@('Location: array3.PHP');?> array3.PHP
<?PHPsession_start();if(!isset($_SESSION['user'])){ dIE("To access this page,you need to <a href='register.HTML'>LOGIN</a>");}$checked = $_SESSION['checked'];$checked2 = $_SESSION['checked2'];?><?PHP for($i=0; $i < count($checked && $checked2); $i++){ echo "You have selected to receive " . $checked[$i] . " tickets<br/>"; echo "And you have selected to receive " . $checked2[$i] . " for accommodation are you sure? <br/>"; }?> 主要问题是值没有从array2传递到array3,欢迎任何帮助.
编辑 – 这工作正常,直到我尝试添加会话以使其在多个页面上工作,所以我敢肯定问题出在哪里
EDIT2 – 感谢所有的帮助,当我拿出来的时候,我让它工作了
$checked = $_POST['options'];$checked2 = $_POST['options2'];
从阵列3它工作:)非常感谢!
解决方法count($checked && $checked2)
……是你的问题.
$checked&& $checked2是一个逻辑表达式,它将为true或false,这意味着count()调用将始终返回false,而false将在数字比较中等于0(小于<与$i的比较),因此for循环不会执行任何迭代. 但是,在这种情况下使用数组是不合适的,因为你使用了< select>没有多属性的元素因此它只表示一个值,这意味着该数组只能保存一个值.你应该将它简化为标量值,你会发现a)它有效,b)一般来说它更容易.
总结以上是内存溢出为你收集整理的从输入表单存储会话中的php数组全部内容,希望文章能够帮你解决从输入表单存储会话中的php数组所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)