如何在php中传递一个变量通过URL

时间:2012-07-16 14:22:35

标签: php

您好我正在尝试通过网址将值从一个文件传递到另一个文件。

我的方式是:<a href='fund_view.php?idfund="<? echo $row['idfund']; ?>"'>

毕竟我使用

在其他文件中获得了正确的值
$aidi = $_GET['idfund'];

echo 'ID= '.$aidi;`

但我得到的结果是这种格式ID= \"10\"

我传递id之后的url看起来像

http://example.com/fund_view.php?idfund="10"

我希望结果只是ID="10"

3 个答案:

答案 0 :(得分:2)

关闭php.ini中的magic_quotes,你应该摆脱那些反斜杠。

答案 1 :(得分:2)

更改

<a href='fund_view.php?idfund="<? echo $row['idfund']; ?>"'>

<a href='fund_view.php?idfund=<? echo $row['idfund']; ?>'>

还要记住,你的代码非常不安全......至少在使用它之前将参数强制转换为int:

$aidi = (integer) $_GET['idfund'];

答案 2 :(得分:0)

早期版本的PHP(低于5.4)有一个非常反直觉的功能,称为"magic quotes",它会自动(并且无声地)转义所有GET / POST字符串,就好像它们将用于MySQL查询一样。

逆转相对简单,当你不知道存在这样的特征时,这是一件令人头疼的事。

解决方案1:使用ini_set

关闭magic_quotes

有时您将无法使用ini_set(限制性主机提供商),因此以下是我使用的下一个最佳(和便携式)解决方案:

NB:get_magic_quotes_gpc功能页

上提供的功能
<?php
    function stripslashes_deep(&$value)
    {
        $value = is_array($value) ?
                    array_map('stripslashes_deep', $value) :
                    stripslashes($value);

        return $value;
    }

    if (get_magic_quotes_gpc())
    {
        stripslashes_deep($_GET);
        stripslashes_deep($_POST);
    }

?>