Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从输入和取消设置数组_Php_Arrays - Fatal编程技术网

Php 从输入和取消设置数组

Php 从输入和取消设置数组,php,arrays,Php,Arrays,你好,我有一个问题,我无法取消会话。有人能发现错误吗?我们的想法是通过这个过程,直到array 4中有一个会话被取消设置,然后返回array 3,在array 4中删除的会话应该消失……但是它没有消失,我希望这是有意义的,谢谢大家的帮助 HTML 选择您需要的票证数量。 1. 2. 3. 4. 5. 6. 7. 8. 9 10 选择所需的导航。 露营 大篷车 阵列2 <?php session_start(); if(isset($_POST['submit'])){ if($

你好,我有一个问题,我无法取消会话。有人能发现错误吗?我们的想法是通过这个过程,直到array 4中有一个会话被取消设置,然后返回array 3,在array 4中删除的会话应该消失……但是它没有消失,我希望这是有意义的,谢谢大家的帮助

HTML


选择您需要的票证数量。
1.
2.
3.
4.
5.
6.
7.
8.
9
10
选择所需的导航。
露营
大篷车
阵列2

<?php
session_start();
if(isset($_POST['submit'])){
    if($_POST['tickets'] == "" || $_POST['accom'] == ""){
        header("Location: error.html");
        exit; 
    }else{
        $tickets = $_POST['tickets'];
        $accom = $_POST['accom'];
        $_SESSION['tickets'] = $tickets;
        $_SESSION['accom'] = $accom;
        header('Location: array3.php');
    }
}

阵列3

<?php
session_start();
$tickets = $_SESSION['tickets'];
$accom = $_SESSION['accom'];
?>

    <form method="post" action="array4.php">
    <input type="submit" value="remove" />
</form>
<?php
    for($i=0; $i < count($tickets); $i++){
        echo "You have selected to recive " . $tickets[$i] . " tickets<br/>";
    }
    for($i=0; $i < count($accom); $i++){
        echo "And you have selected to recive " . $accom[$i] . " for accommodation are you sure? <br/>";
    }
?>

阵列4

<?php
session_start();
if(isset($_POST['remove'])){
    unset($_SESSION['accom']);
}
$tickets = $_SESSION['tickets'];
?>

<form method="post" action="array3.php">
    <input type="submit" value="go back?" />
</form>
<?php
    for($i=0; $i < count($tickets); $i++){
        echo "You have selected to recive " . $tickets[$i] . " tickets<br/>";
    }
    for($i=0; $i < count($accom); $i++){
        echo "And you have selected to recive " . $accom[$i] . " for accommodation are you sure? <br/>";
    }
?>

更改此选项

value="remove"
在中(或仅添加此项)

不要使用for,要获取数组,请使用简单的foreach

foreach($tickets as $ticket){
    echo "You have selected to recive $ticket tickets<br/>";
}
foreach($tickets作为$ticket){
echo“您已选择接收$ticket票券
”; }
而不是这个:

if(isset($_POST['remove'])){
    unset($_SESSION['accom']);
}
您将需要:

if(isset($_POST['submit']) && $_POST['submit'] == 'remove'){
    unset($_SESSION['accom']);
}

$\u POST
变量以表单变量的名称而不是值作为键。

您正在取消设置
$\u会话['acom']
,但您使用的是
$accom
,该变量从未更新过…他正在第二页设置该会话变量。您好,谢谢您的回复,我仍然有我的会话问题仍然存在,在它被取消设置后,如果我返回到上一页,有没有人修复这个没有?这个想法是一个购物车,你删除一些东西然后返回,它已经删除了该项目,但它现在的方式,它仍然存在,当你返回。你好,谢谢你或回复,我已经实现了你的代码,但我仍然有我的会话问题仍然存在,在它被取消后,如果我回到上一页,有没有人可以在没有人的情况下解决这个问题?这个想法是一个购物车,你删除了一些东西,然后返回,它已经删除了该项目,但现在的方式,它仍然存在,当你返回。你如何回到上一页?你的意思是“后退”按钮吗?我只是用一个按钮把你带到上一页。在做了这些更改之后,你是否已经完成了你在问题中概述的整个过程?第4页是否仍显示accom数据?第4页上的
$accom
变量数据在哪里设置?是的,我设置了,它没有显示在array 4上,但当我按下按钮返回array3.php时,它显示它仍然存在,因为我取消设置了它:/
if(isset($_POST['remove'])){
    unset($_SESSION['accom']);
}
if(isset($_POST['submit']) && $_POST['submit'] == 'remove'){
    unset($_SESSION['accom']);
}