php表单写入数组,从输入表单存储会话中的php数组

我有很多麻烦试图让一个阵列与会话一起工作,如果有人可以提供帮助那就太好了我不会对验证等问题,如果我可以让它工作,我可以扩展它.

Select amount of tickets you require.

1

2

3

4

5

6

7

8

9

10

Select the acomidation you require.

Camping

Caravan

array2.php

session_start();

$checked = $_POST['options'];

$checked2 = $_POST['options2'];

$_SESSION['user'] = true;

$_SESSION['checked'] = $checked;

$_SESSION['checked2'] = $checked2;

header('Location: array3.php');

?>

array3.php

session_start();

if(!isset($_SESSION['user'])){

die("To access this page, you need to LOGIN");

}

$checked = $_SESSION['checked'];

$checked2 = $_SESSION['checked2'];

?>

for($i=0; $i < count($checked && $checked2); $i++){

echo "You have selected to receive " . $checked[$i] . " tickets
";

echo "And you have selected to receive " . $checked2[$i] . " for accommodation are you sure?
";

}

?>

主要问题是值没有从array2传递到array3,欢迎任何帮助.

编辑 – 这工作正常,直到我尝试添加会话以使其在多个页面上工作,所以我敢肯定问题出在哪里

EDIT2 – 感谢所有的帮助,当我拿出来的时候,我让它工作了

$checked = $_POST['options'];

$checked2 = $_POST['options2'];

从阵列3它工作:)非常感谢!

解决方法:

count($checked && $checked2)

……是你的问题.

$checked&& $checked2是一个逻辑表达式,它将为true或false,这意味着count()调用将始终返回false,而false将在数字比较中等于0(小于

但是,在这种情况下使用数组是不合适的,因为你使用了< select>没有多属性的元素因此它只表示一个值,这意味着该数组只能保存一个值.你应该将它简化为标量值,你会发现a)它有效,b)一般来说它更容易.

标签:php,arrays,session

来源: https://codeday.me/bug/20190529/1179442.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值