Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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
Javascript 如何发布相同数据的多页_Javascript_Php_Html - Fatal编程技术网

Javascript 如何发布相同数据的多页

Javascript 如何发布相同数据的多页,javascript,php,html,Javascript,Php,Html,第一个页面是registration.php 关于pay.php <form action="success.php" method="post"> <input type="hidden" value=<?php echo json_encode($_POST); ?> custom="Hidden Element" name="customer"> <

第一个页面是registration.php

关于pay.php

<form action="success.php" method="post">
<input type="hidden" value=<?php echo json_encode($_POST); ?> custom="Hidden Element" name="customer">
</form>

不要将数据传回前端,而是在服务器上创建一个临时存储所有页面数据的服务器

启动会话时,您可以使用
$\u session
全局变量访问和设置值。会话启动后,此变量可用于所有文件,并将保留您的值,直到会话结束

// Check if there is an active session.
// Otherwise start it.
if ( ! session_id() ) { 
  session_start();
}

// Receive and store.
$customer = $_POST[ 'customer' ]
$_SESSION[ 'customer' ] = $customer;

// Just to show what is in the session.
echo json_decode( $_SESSION[ 'customer' ] ); 
如果已完成,并且希望在最后一页结束会话,则使用删除整个会话。另一种选择是让会话超时并删除它本身

<?php
$data    = ["name"=>"Thomas O'Leary"];
$encoded = json_encode($data);
//$encoded = bin2hex($encoded);
var_dump($_POST);

if(isset($_POST['data'])) {
    $data = $_POST['data'];
    //$data = hex2bin($data);
    $data = json_decode($data, true);
    var_dump($data);
}
?>
<form method='post'>
    <input type='hidden' name='data' value='<?= $encoded ?>'>
    <input type='submit'>
</form>
表示数据丢失,json无效

这是因为隐藏字段值中有引号:

<input type='hidden' name='data' value='{"name":"Thomas O'Leary"}'>

有些人使用
htmlentities($data,entu QUOTES)
base64\u encode($data)
作为另一种解决方法。

通常不建议重新分配到
$\u POST
。查看生成的HTML。它可能不是有效的HTML。您还需要使用htmlspecialchars来转义JSON中的任何字符,这些字符会弄乱您的HTML,但是我有一个大的注册表数据。所以再利用$_POST@Progrock我以前的代码片段出现空dataSyntax错误,已更正:转储解码的结果是什么$data=json_decode($_POST['customer'],true);var_dump($数据);
array(1) { ["data"]=> string(17) "{"name":"Thomas O" } NULL
<input type='hidden' name='data' value='{"name":"Thomas O'Leary"}'>
array(1) { ["data"]=> string(50) "7b226e616d65223a2254686f6d6173204f274c65617279227d" } array(1) { ["name"]=> string(14) "Thomas O'Leary" }