Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过URL传递多个查询参数_Php_Drupal_Drupal 8 - Fatal编程技术网

Php 通过URL传递多个查询参数

Php 通过URL传递多个查询参数,php,drupal,drupal-8,Php,Drupal,Drupal 8,我有一个路径别名,如下所示 $node_alias='/node/add/page?id=1' 我需要的是将查询参数附加到具有上述url的目标url,我在下面尝试过,但不起作用 $node_alias='/node/add/page?id=1&destination=/admin/content?id=1 有解决方案吗?您需要对查询字符串中的每个组件进行url编码 第一个参数id=1没有问题,但是目标参数包含用于分隔uri组件的特殊字符:/,?,= 您可以使用或: 有一种drupal方法可以做到

我有一个路径别名,如下所示

$node_alias='/node/add/page?id=1'

我需要的是将查询参数附加到具有上述url的目标url,我在下面尝试过,但不起作用

$node_alias='/node/add/page?id=1&destination=/admin/content?id=1


有解决方案吗?

您需要对查询字符串中的每个组件进行url编码

第一个参数
id=1
没有问题,但是
目标
参数包含用于分隔uri组件的特殊字符:
/
=

您可以使用或:

有一种drupal方法可以做到这一点,使用(d7):


另请参见

您需要对查询字符串中的每个组件进行url编码

第一个参数
id=1
没有问题,但是
目标
参数包含用于分隔uri组件的特殊字符:
/
=

您可以使用或:

有一种drupal方法可以做到这一点,使用(d7):


另请参见

斜杠需要在URL查询字符串中进行“编码”,请参见:有关如何在PHPSlash中进行编码的更多详细信息需要在URL查询字符串中进行“编码”,请参见:有关如何在PHP中进行编码的更多详细信息
$node_alias = '/node/add/page?id=1&destination=' . rawurlencode('/admin/content?id=1')
$path = current_path();
$params = drupal_get_query_parameters() + array('destination' => '/admin/content?id=1');
$query = drupal_http_build_query($params);

$node_alias = $path . '?' . $query;