通过url传递1000个数组变量并将其返回到另一个页面。我可以加密动态创建的url和de crypt回到原始阶段以进一步查询。 我的网址看起来像这样:
代码:
$rfinalarray = array_intersect($rarray1, $rarray2, $rarray3, $rarray4, $rarray5, $rarray6, $rarray7, $rarray8, $rarray9, $rarray10, $rarray12, $rarray13, $rarray14, $rarray15, $rarray16, $rarray17);
if (count($rfinalarray) > 0) {
$arrayr = array_values($rfinalarray);
arsort($arrayr);
$ab = http_build_query($arrayr);
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://example.com/abc.php?$ab");
} else {
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://example.com/abc.php?search=noresult");
unset($_SESSION['reals']);
}
答案 0 :(得分:1)
这不是使用GET的好方法,而是使用POST。但是对于你的信息,试试这个:
<?php
function encrypt_url($string) {
$key = "MAL_979805"; //key to encrypt and decrypts.
$result = '';
$test = "";
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$test[$char]= ord($char)+ord($keychar);
$result.=$char;
}
return urlencode(base64_encode($result));
}
function decrypt_url($string) {
$key = "MAL_979805"; //key to encrypt and decrypts.
$result = '';
$string = base64_decode(urldecode($string));
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)-ord($keychar));
$result.=$char;
}
return $result;
}
?>
从here
开始答案 1 :(得分:-1)
更新了以隐藏形式保存数据的方法,并在dom准备好的情况下提交表格,相反,表格也可以在活动上提交。
在ab.php
$array = serialize($ab);
<form action="ac.php" method="post" id="test">
<textarea name="array" style="display:none;">
<?php echo $array;?>
</textarea>
</form>
在ab.php上使用jquery:
$(document).ready(function(){
$('form#test').submit();
});
@ ac.php你可以通过$ _POST获得它 希望有所帮助