1

同様の質問が数回出てきたことに気づきましたが、私がやろうとしていることを助けるものを見つけることができないようです.

基本的に、ユーザーが設定する変数とその値のリストである config.php ファイルがあります。

$OUR_EMAIL_ADDRESS = 'test@test.com';
$OUR_WEBSITE       = 'www.test.com';

他のすべてのユーザーと同様に、Javascript を介して PHP 値を転送したいと考えています。

ajaxを介してこれを行う方法はすでにありますが、各変数にカスタムスクリプト/phpページが必要なため、希望するほど柔軟ではありません。

パート 1 - JavaScript (jquery)

$.get("/getConfig_email.php", function(email){
    alert(email);
});

パート 2: getConfig_email.php

<?php
echo $OUR_EMAIL_ADDRESS_VALUE;
?>

質問:

PHP が文字列を変数名として使用できる方法はありますか? すなわち。私がやりたいことはこれです:

パート 1 - JavaScript (jquery)

$.get("/getConfig.php?name=OUR_EMAIL_ADDRESS_VALUE", function(email){
    alert(email);
});

パート 2: getConfig.php

<?php
$var_name = $_GET['name'];

//some magic here to turn the name of the variable 
//in to the actual variable - a bit like a reverse extract

echo $var_name.value;
?>

どう思いますか?これはどういうわけか可能ですか - 私はこれを行うことができるphpコマンドがあることを望んでいます!

よろしくお願いします。

4

3 に答える 3

1

おそらく、より良いオプションは、配列内に構成変数を設定することです。

$CFG = array(
    'OUR_EMAIL_ADDRESS' => 'test@test.com',
    'OUR_WEBSITE' => 'www.test.com'
);

そして、それらを拾います:

$var_name = $_GET['name'];
echo isset($CFG[$var_name]) ? $CFG[$var_name] : "";

そうしないと、スクリプトの実際のセキュリティ上の問題になる可能性があります。

于 2012-04-28T15:34:18.480 に答える
0

はい、次の方法で可能variable variablesです:

echo $$var_name;

ただし、ユーザー入力を取得しており、おそらくユーザーが非表示になっている内部変数の値を取得できるため、これは賢明ではありません。

于 2012-04-28T15:34:55.780 に答える
0

すべての構成変数で辞書を作成し、それを使用して名前で変数を検索します

于 2012-04-28T15:35:22.533 に答える