[英]Pass Dynamic PHP variables to other PHP page via URL
我认为从标题可以清楚地看出问题。 我有一个PHP文件,称为PHP1。 在那个PHP1中,我有一个看起来很像的URL
www.mywebsite/script.php?color=red&sky=blue&past=gone
我感到困惑的是,值“ red”,“ blue”和“ gone”位于三个动态变量中: $var1
, $var2
和$var3
。
如何通过URL将这些变量发布到另一个PHP文件PHP2中。
在PHP2文件中,我想接收以下值:
$var1 = $_GET['color'];
$var2 = $_GET['sky'];
$var3 = $_GET['past'];
我该如何实现? 我知道我可以使用ajax和所有方法,但是URL是我在这里唯一的手段。
我认为您正在寻找如何生成动态网址
在您的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"];
//它应该工作
您无法从$ _POST获取通过url传递的值。
尝试这个:
$var1= $_GET['color'];
$var2 = $_GET['sky'];
$var3= $_GET['past'];
使用header('Location')
:
header('Location:/script.php?color=red&sky=blue&past=gone');
它将用户重定向到第二页。 然后,您可以使用$_GET
superglobal收集值
$var1= $_GET['color'];
$var2 = $_GET['sky'];
$var3= $_GET['past'];
这样不可能通过url获取值,您需要使用$_GET['']
。 但是使用会话是执行此操作的最佳选择。 只是这样重写您的代码-
session_start();
$SESSION['data1'] = 'red';
然后在所需位置检索数据。
在PHP中 ,我们使用HTTP协议。 HTTP可以在客户端和服务器之间进行请求/响应。 客户端是浏览器,服务器是我们网址的位置。 您可以使用GET request或POST 。 GET参数为:
您可以将HTML表单与指定的GET或POST方法一起使用以发送请求。
我认为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'];
?>
由于您在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);
网址在PHP1中可能是任何东西,它获取并将具有相同值的相同参数传递给下一页
在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'];
尝试以下方法:
$var1= $_GET['color'];
$var2 = $_GET['sky'];
$var3= $_GET['past'];
要么
$var1= $_REQUEST['color'];
$var2 = $_REQUEST['sky'];
$var3= $_REQUEST['past'];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.