代码之家  ›  专栏  ›  技术社区  ›  Kazmi John Boker

句号“”在URL重写模式下的GET请求中不进入PHP变量[关闭]

  •  3
  • Kazmi John Boker  · 技术社区  · 7 年前

    当我从浏览器URL栏输入一个值时,该值通过GET请求到达一个php变量,并按预期显示该值,但这里的问题是当我输入一个带句点的值时 在值的末尾,仅显示值,但不显示句点。如何解决此问题?我希望它显示带句点的值。 下面是我的代码:

    if (isset($_GET['value'])){ // value comes from the browser URL bar
    $val = $_GET['value'];
    echo $val;
    }
    

    问题更新 我忘了提到我正在使用URL重写模式,当我通过URL重写模式获得值时,就会发生这种情况。但是,当我从原始URL获取包括参数名称(index.php?value=)在内的值时,点会按预期显示。

    页面名称索引。php

    if(isset($\u GET['value]){//值来自浏览器URL栏
    $val=$\u GET['value'];
    回声$val;
    }
    

    我的htaccess文件

    RewriteEngine On
    RewriteRule ^index/([a-z0-9_/.]+)/?$ /review/index.php?value=$1 [L]
    

    请看第一个输出:如果我将句点放在值的末尾,则只显示值。但在示例2中:如果在值的中间包含句点,则该值将随句点一起显示。为什么会这样?

    输出

    enter image description here enter image description here

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  0
  •   Anthony    7 年前

    我有一个解决办法。因为我没有得到值末尾的句点,所以我用PHP的服务器变量提出了一个解决方案。我正在获取当前页面的完整url $_SERVER['REQUEST_URI'] 然后分解它们并获得查询字符串。下面是它的方法。

    <?php
    $getQueryString = explode("/",$_SERVER['REQUEST_URI']);
    
    echo getQueryString[3]; 
    

    下面是我得到的值末尾的周期的输出。看见

    output image click here