我意识到类似的问题已经出现过几次,但我似乎无法找到一个可以帮助我尝试做的事情。
我们有一个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命令可以为我做这个!
非常感谢提前。
答案 0 :(得分: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] : "";
否则,它可能是您脚本的真正安全问题。
答案 1 :(得分:0)
答案 2 :(得分:0)
使用所有配置变量创建一个字典,并使用它来按名称查找变量