0

こんにちは、あるファイルから別のファイルに URL 経由で値を渡そうとしています。

私が行う方法は次のとおりです。<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"です。

4

3 に答える 3

2

変化する

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

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

また、コードは非常に安全ではないことにも注意してください...少なくとも、使用する前にパラメータをintにキャストしてください。

$aidi = (integer) $_GET['idfund'];
于 2012-07-16T14:25:18.437 に答える
2

php.ini でmagic_quotesをオフにすると、それらのバックスラッシュを取り除く必要があります。

于 2012-07-16T14:24:48.267 に答える
0

PHP の以前のバージョン (5.4 より前) には、「マジック クォート」と呼ばれる非常に直感に反する機能がありました。これは、MySQL クエリで使用されるかのように、すべての GET/POST 文字列を自動的に (そして静かに) エスケープします。

逆にするのは比較的簡単ですが、そのような機能が存在することに気付いていない場合は頭痛の種です.

解決策 1: ini_setで magic_quotes をオフにする

場合によっては、ini_set (制限付きのホスト プロバイダー) を使用できないことがあります。そのため、私が使用した次善の (そして移植可能な) ソリューションは次のとおりです。

注意: 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);
    }

?> 
于 2012-07-16T14:54:24.563 に答える