我想将数据从一个PHP文件发送到存在第一个PHP文件的子文件夹中的另一个PHP文件。我有一个名为folder1
的文件夹,其中包含一个名为file1.php
的PHP文件,我想在名为file2.php
的{{1}}子文件夹中调用另一个名为folder1
的文件。我在folder2
:
header()
函数
file1.php
数据未通过。是否有使用$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'folder1/folder2/file2.php';
header("location:http://$host$uri/$extra?sms=".$msg."&num=".$msg_num);
的解决方案?由于某些限制,我无法使用header()
。
答案 0 :(得分:3)
以下代码有效:
file1.php
:
<?php
header( 'Location: inner/file2.php?x=1&y=2&z=3' );
?>
inner/file2.php
:
<?php
print '<pre>';
var_dump( $_GET );
print '</pre>';
?>
访问http://localhost/testing/file1.php
的结果是重定向到http://localhost/testing/inner/file2.php?x=1&y=2&z=3
,显示:
array(3) {
["x"]=>
string(1) "1"
["y"]=>
string(1) "2"
["z"]=>
string(1) "3"
}
我建议复制这些测试文件,并向自己证明使用传递值重定向的基本概念是有效的。然后,围绕已知良好的内核构建其余代码。祝你好运!
答案 1 :(得分:1)
如果没有您要发送的变量的示例,很难说出问题可能是什么,但可能的问题可能是变量中的字符。
要确保没有无效字符,您可以使用urlencode()
,也许与htmlentities()
结合使用,请参阅manual:
header("location:http://$host$uri/$extra?sms=".urlencode($msg)."&num=".urlencode($msg_num));