Php 如何通过URL传递变量的多个值
我有一个我正在构建的应用程序,我被困在某个点上 我试图传递一个具有多个值的变量。因此,我的URL将如下所示:Php 如何通过URL传递变量的多个值,php,url,urlvariables,Php,Url,Urlvariables,我有一个我正在构建的应用程序,我被困在某个点上 我试图传递一个具有多个值的变量。因此,我的URL将如下所示: localhost/report.php?variable=value1, value2, value3 问题是我不确定我怎么能做到这一点。这些变量用于从数据库检索数据。我使用的是PHP,没有Javascript 任何帮助都会很好 编辑: 以下是我在页面中选择变量的HTML: <select name="types" size="19" multiple> <
localhost/report.php?variable=value1, value2, value3
问题是我不确定我怎么能做到这一点。这些变量用于从数据库检索数据。我使用的是PHP,没有Javascript
任何帮助都会很好
编辑:以下是我在页面中选择变量的HTML:
<select name="types" size="19" multiple>
<option value="all" selected>All Types</option>
<option value="book" selected>Books</option>
<option value="cd" selected>CD</option>
</select>
所有类型
书
光盘
因此用户可以选择书籍和CD,我需要在“types”变量中传递这两个值。使用&
localhost/report.php?variable=value1&val2=value2&val3=value3
这就是你想要的吗?试试
localhost/report.php?variable[]=value1&variable[]=value2
将在php中为你提供一个数组在php中,有一种简单的方法可以通过调用并将你的值作为索引数组传递。您可以执行以下操作:
$value_array = array('types' => array('book', 'cd'));
$query = http_build_query($value_array);
然后使用
$query
生成url。我认为您的url是正确的
localhost/report.php?variable=value1,value2,value3
然后使用PHP获取report.PHP页面上的所有值
$variable = explode(",", $_GET["variable"]);
// Output
$variable[0] = "value1";
$variable[1] = "value2";
$variable[2] = "value3";
您可以像这样使用:
serialize函数为您提供数组类型的可存储(字符串)版本,并且可以通过unserialize函数还原。如中所述,您可以使用此方法
如果您希望PHP将$_GET['select2']视为一个选项数组,只需在select元素的名称中添加方括号,如下所示:
序列化数组如何?是否使用from发送此内容?如果是这样的话,php应该在$_POST['types']?@wgcrouch中以数组的形式获取它,我正在使用一个表单发送它。但是当我发送它时,URL会像report.php?variable=value1&variable=value2
可能重复一样结束。您需要将select元素的名称更改为types[]这是多个变量,而不是一个具有多个值的变量。我真正需要的是将所有值添加到该变量中。因此,在PHP代码中,我可以只使用$variable=$\u GET['variable']
,这样我就可以在查询中使用$variable。如果两个页面位于同一个域中,您可以使用会话
变量<代码>会话[“myStringName”]=someObject
然后简单地通过转换到您需要的内容来读回它。对不起,不过我的PHP不太好。这个主意很有趣。如果我将一个index.php?var='.serialize($array)。
链接作为书签或复制,我是否能够稍后重新加载该链接,或者序列化的数据是否在会话中丢失?
echo '<a href="index.php?var='.serialize($array).'"> Link </a>';
$array= unserialize($_GET['var']);
<?php
header("Content-Type: text/plain");
foreach ($_GET['select2'] as $selectedOption)
echo $selectedOption."\n";