首页 > 解决方案 > 如何在 php 中获取 $_get['a'] 中的 url 数据

问题描述

我将带有值的 url 从 javascript 传递到 PHP,例如:

<script>

    var a= "10-test(8 2) DVI-A Male";
    var b= "8-test(6 2) DVI-A Male";
    var test = a.replace("+", "%2B"); 
    var test1 = b.replace("+", "%2B"); 
    window.open("listing.php?cond=true" + "&a=" + (test.replaceAll("%", " ")) + "&b=" + test1.replaceAll("%", " "));
</script>

我有一个类似的网址

localhost://listing.php?cond=true&a=10-test%20(8+2)%20DVI-A%20Male&b=test2%20Male

我想获取 a & b 的数据为此我使用:

<?php
    $a = $_GET["a"];
    $b = $_GET["b"]; ?>

但我得到了这样的结果

$a = 10-test(8 2) DVI-A Male

我在结果中丢失了 + 符号。我怎样才能得到这样的结果:

10-test(8+2) DVI-A Male

标签: javascriptphp

解决方案


+符号表示 URL 中的空格。它需要被编码为%2B

localhost://listing.php?cond=true&a=10-test%20(8%2B2)%20DVI-A%20Male&b=test2%20Male

应该返回一个$_GET数组,如:

array(
  'cond' => 'true',
  'a' => '10-test (8+2) DVI-A Male',
  'b' => 'test2 Male',
)

推荐阅读