我认为问题从标题中可以清楚地看出来。 我有一个PHP文件,称之为PHP1。在那个PHP1中,我有一个看起来非常像
的URL www.mywebsite/script.php?color=red&sky=blue&past=gone
我感到困惑的是,“红色”和“蓝色”以及“消失”这些值分为三个动态变量:$var1
,$var2
和$var3
。
如何通过URL将这些变量发布到第二个PHP文件PHP2中。
在PHP2文件中,我想收到如下值:
$var1 = $_GET['color'];
$var2 = $_GET['sky'];
$var3 = $_GET['past'];
我怎样才能做到这一点?我知道我可以使用ajax和all,但URL是我唯一的选择。
答案 0 :(得分:3)
我认为您正在寻找如何生成动态网址
在你的php1文件中
$c = "red";
$s = "blue";
$stat ="past";
//Now you need to generate a dynamic url in your php1 file
$url = 'www.mywebsite/script.php?color='.$c.'&sky='.$s.'&past='.$stat;
//now genearte a dynamic link
echo '<a href="'. $url.'">Click me</a>';
//you have dynamic link. after clicking it will take you to different page
//your url shoule be www.mywebsite/script.php?color=red&sky=blue&past=gone
//just concanate
Php2文件
echo 'color'.$_GET["color"].' SKY '.$_GET["sky"].' STAT '.$_GET["past"];
//应该可行
答案 1 :(得分:0)
你不能从$ _POST获取通过url传递的值。
试试这个:
$var1= $_GET['color'];
$var2 = $_GET['sky'];
$var3= $_GET['past'];
答案 2 :(得分:0)
使用header('Location')
:
header('Location:/script.php?color=red&sky=blue&past=gone');
它会将用户重定向到第二页。
然后,您可以使用$_GET
superglobal
$var1= $_GET['color'];
$var2 = $_GET['sky'];
$var3= $_GET['past'];
答案 3 :(得分:0)
无法通过网址获取值,您需要使用$_GET['']
。但使用会话是这样做的最佳选择。只需重写你的代码 -
session_start();
$SESSION['data1'] = 'red';
然后在您想要的地方检索您的数据。
答案 4 :(得分:0)
在 PHP 中,我们使用 HTTP 协议。 HTTP 可以在客户端和服务器之间进行请求/响应。 客户端是浏览器,服务器位于我们的URL位置。 您可以使用 GET 请求或 POST 。 GET 参数为:
您可以使用带有指定方法GET或POST的HTML表单来发送请求。
答案 5 :(得分:0)
我认为header
会有所帮助
<?php
$variable1 = "red";
$variable2 = "blue";
$variable3 = "gone";
header("Location:/script.php?color=$variable1&sky=$variable2&past=$variable3");
?>
要在另一个页面中接收变量,请使用$_GET
代替$_POST
<?php
$var1 = $_GET['color'];
$var2 = $_GET['sky'];
$var3 = $_GET['past'];
?>
答案 6 :(得分:0)
由于您在URL中有动态参数,因此请使用foreach语句,如此
$temp = "var";
$param = "";
$i=1;
$url = "samplepage.php?";
foreach($_GET as $key=>$values)
{
$tmp = $temp."".$i;
$param = $key;
$$param = $key;
// it is assumed $var1, $var2 and $var3 is defined before processing url
echo $tmp." value is ".$$tmp."\n";
$url = $url."".$$param."=".$$tmp."&";
$i++;
}
$url = rtrim($url, "&");
header("Location: ".$url);
Url可能是PHP1中的任何内容,它会将具有相同值的相同参数传递给下一页
答案 7 :(得分:0)
在PHP1中:
$var1= $_POST['color'];
$var2 = $_POST['sky'];
$var3= $_POST['past'];
header("Location:/script.php?color={$var1}&sky={$var2}&past={$var3}");
在PHP2中:
$var1= $_GET['color'];
$var2 = $_GET['sky'];
$var3= $_GET['past'];
答案 8 :(得分:0)
试试这个方法:
$var1= $_GET['color'];
$var2 = $_GET['sky'];
$var3= $_GET['past'];
OR
$var1= $_REQUEST['color'];
$var2 = $_REQUEST['sky'];
$var3= $_REQUEST['past'];