Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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
从第1-2-3-4页传递数据。。。在PHP中(无会话/cookie)_Php_Arrays_Algorithm_Serialization_Http Headers - Fatal编程技术网

从第1-2-3-4页传递数据。。。在PHP中(无会话/cookie)

从第1-2-3-4页传递数据。。。在PHP中(无会话/cookie),php,arrays,algorithm,serialization,http-headers,Php,Arrays,Algorithm,Serialization,Http Headers,我知道会话可能是最有效的方法,我已经找到了一些关于如何使用会话的答案,但是为了这个项目,我不允许这样做。我目前正在做的是使用http\u build\u query从$\u POST传递信息,并使用以下代码将一个单独的数组传递到下一页 if ($login[$user] == $pass) { $qstr = http_build_query( array( 'products

我知道会话可能是最有效的方法,我已经找到了一些关于如何使用会话的答案,但是为了这个项目,我不允许这样做。我目前正在做的是使用
http\u build\u query
$\u POST
传递信息,并使用以下代码将一个单独的数组传递到下一页

    if ($login[$user] == $pass) {
                            $qstr = http_build_query(
            array(
                'products_array' => $products,
                'quantity' => $_POST['quantity']
            )
    );
      header('Location: display_invoice.php?' . $qstr);

这是可行的,我可以在重定向后访问
$\u GET array
中的数组,但如果我尝试使用相同的代码再次将信息传递到下一页,则
$\u GET array
为空。我可以得到一些关于如何在不使用会话或cookie的情况下将数组信息从第1页传递到最后一页的信息吗?

您可以将它们作为JSON
JSON\u encode()
存储在一个隐藏数组中,然后使用
JSON\u decode()还原它们

存储$\u进入第1页:

<input name="oldget" value="<?= json_encode($_GET)?>">

在数组中将$\u POST更改为$\u请求。这样,您将获得post和get的数量

$\u请求是一个关联数组,默认情况下包含$\u GET、$\u POST和$\u COOKIE的内容

您可以
序列化()
您的数据,如本例所示。在页面
1.php
中,有一个数组通过
标题(位置:…)
发送到页面
2.php
。在
2.php
中,您可以看到收到的数组,并通过链接将信息发送到
3.php
。在
3.php
中,您可以看到来自
1.php

试试这个例子

1.php

<?php

    $bond = array (
    'Sean Connery' => 'Dr. No',
    'George Lazenby' => 'On Her Majesty\'s Secret Service',
    'Roger Moore' => 'Live and Let Die',
    'Timothy Dalton' => 'The Living Daylights',
    'Pierce Brosnan' => 'GoldenEye',
    'Daniel Craig' => 'Casino Royal'
    );

$info = serialize($bond);

header('Location: 2.php?values=' . $info);

?>
<h1>Page 2</h1>
<?php

$values = $_GET['values'];
$info = unserialize($values);

foreach($info as $key => $value) {
  echo $key . ' - ' . $value . '<br>';
}   

?>

<p>
<a href="<?php echo '3.php?values=' . urlencode(serialize($info)); ?>">Send values to 3.php</a>
</p>
<h1>Page 3</h1>
<?php

$values = $_GET['values'];
$info = unserialize($values);

foreach($info as $key => $value) {
  echo $key . ' - ' . $value . '<br>';
}   

?>

2.php

<?php

    $bond = array (
    'Sean Connery' => 'Dr. No',
    'George Lazenby' => 'On Her Majesty\'s Secret Service',
    'Roger Moore' => 'Live and Let Die',
    'Timothy Dalton' => 'The Living Daylights',
    'Pierce Brosnan' => 'GoldenEye',
    'Daniel Craig' => 'Casino Royal'
    );

$info = serialize($bond);

header('Location: 2.php?values=' . $info);

?>
<h1>Page 2</h1>
<?php

$values = $_GET['values'];
$info = unserialize($values);

foreach($info as $key => $value) {
  echo $key . ' - ' . $value . '<br>';
}   

?>

<p>
<a href="<?php echo '3.php?values=' . urlencode(serialize($info)); ?>">Send values to 3.php</a>
</p>
<h1>Page 3</h1>
<?php

$values = $_GET['values'];
$info = unserialize($values);

foreach($info as $key => $value) {
  echo $key . ' - ' . $value . '<br>';
}   

?>
第2页

3.php

<?php

    $bond = array (
    'Sean Connery' => 'Dr. No',
    'George Lazenby' => 'On Her Majesty\'s Secret Service',
    'Roger Moore' => 'Live and Let Die',
    'Timothy Dalton' => 'The Living Daylights',
    'Pierce Brosnan' => 'GoldenEye',
    'Daniel Craig' => 'Casino Royal'
    );

$info = serialize($bond);

header('Location: 2.php?values=' . $info);

?>
<h1>Page 2</h1>
<?php

$values = $_GET['values'];
$info = unserialize($values);

foreach($info as $key => $value) {
  echo $key . ' - ' . $value . '<br>';
}   

?>

<p>
<a href="<?php echo '3.php?values=' . urlencode(serialize($info)); ?>">Send values to 3.php</a>
</p>
<h1>Page 3</h1>
<?php

$values = $_GET['values'];
$info = unserialize($values);

foreach($info as $key => $value) {
  echo $key . ' - ' . $value . '<br>';
}   

?>
第3页

感谢您的回复,我将查看文档以了解您的所有建议@如果这个答案对你有帮助,请考虑接受。it@Imaqtpai如果你不知道“接受为正确”,请阅读