同様の質問が数回現れたと私は気付きますが、私がしようとしていることを助けるものはありません。パラメータ名として変数名のAjaxでPHP変数値を取得する
は、我々は変数のリストは基本的にあるconfig.phpファイルを持っているそれらの値と一緒にユーザーのセット、例えば:
ただ、我々はPHPの値を転送する他のすべてのユーザーのような$OUR_EMAIL_ADDRESS = '[email protected]';
$OUR_WEBSITE = 'www.test.com';
Javascript経由で。
私たちは、AJAXを経由して、すでにこれを行う方法を持っている - 各変数は、カスタムスクリプト/ PHPのページを必要とするよう、私たちが望むほど柔軟ではありません。
パート1 - ジャバスクリプト(jqueryの)
$.get("/getConfig_email.php", function(email){
alert(email);
});
パート2:getConfig_email.php
<?php
echo $OUR_EMAIL_ADDRESS_VALUE;
?>
質問:
PHPが文字列を変数名として使用できる方法はありますか?すなわち、私がやりたいことはこれです:
パート1 - パート2のjavascript(jqueryの)
$.get("/getConfig.php?name=OUR_EMAIL_ADDRESS_VALUE", function(email){
alert(email);
});
: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コマンドがほしいと思っています!
事前に感謝します。それはあなたのスクリプトの実際のセキュリティ上の問題かもしれないが、そうでない場合
$var_name = $_GET['name'];
echo isset($CFG[$var_name]) ? $CFG[$var_name] : "";
:
$CFG = array(
'OUR_EMAIL_ADDRESS' => '[email protected]',
'OUR_WEBSITE' => 'www.test.com'
);
そしてそれらを拾う:
ああ、これはまさに私たちが後にしているものかもしれません。私はこれでPHPページを読んだが、実際にはそれらを使用する方法を得ていない。 私が与えた例では、私はちょうど: '$ name = $ _GET ['name']; echo $$ name; ' そうでしょうか? – user749330
明らかに、収集することが許可されている変数名や何かを命名してチェックするなど、セキュリティ上の問題に対処するためにできることはありますか。 – user749330
@ user749330:あなたは正しいです。 – mellamokb