美好的一天。我在init.php中有以下代码片段。
<?php
include_once("config.php");
include_once(__SITE_PATH . 'view/' . $_REQUEST['page'] . EXT);
$loginobj = new $_REQUEST['page']($_REQUEST['billingentitynuber']);
$text = $loginobj->$_REQUEST['content']();
echo $text;
?>
在Jquery中我有函数Jquery_event.js
$("#entertoapp").click(function()
{
alert($("#btval").val());
$.ajax({
type: "POST",
url: "init.php?page=processing&content=enterintoapplication&btval=" + $("#btval").val(),
success: function(msg) {
alert(msg);
if(msg==1)
window.location.href='index.php?page=processing&content=mycontent';
}
});
});
在processing.php中我有
<?php
class processing
{
public function enterintoapplication()
{
global $billingentityname;
$_SESSION['btval'] = $billingentityname;
echo $billingentityname;
}
}
?>
我的问题是我在init.php中获取了所有参数。但是当我调用一个函数时,我需要进入enterintoapplication函数中的processing.php(即我期待btval
函数中的enterintoapplication
。我怎样才能做到这一点?我试图在函数中获得$_REQUEST['btval']
。但我没有得到。
答案 0 :(得分:1)
尝试将值分配给变量,例如,这适用于PHP 4:
class processing
{
function enterintoapplication()
{
echo "hello";
}
}
$className="processing";
$functionName="enterintoapplication";
$loginobj=new $className();
$text=$loginobj->$functionName();
echo $text;
将其粘贴到此处以验证其是否有效:http://writecodeonline.com/php/
请注意“$ functionName”,这里保留“$”。
尽管如此,出于安全原因,如果他们更改“页面”值,您应该注意人们可以做些什么。
答案 1 :(得分:0)
我不能正确理解你的问题,但是根据一些一般信息,你应该摆脱这个问题。
$_REQUEST
是一个超全局变量,这意味着变量将始终可以从脚本中的任何位置访问。如果您的问题是找不到您网址中的btval
变量,那么您在做其他错误。如果您的网址为http://someUrl/test.php?btval=banana
,那么如果您评估banana
,则应始终获得$_REQUEST['btval']
。 $_SESSION
是访问PHP会话的另一个超全局,与URL变量无关。
我的猜测: 尝试更改
$_SESSION['btval'] = $billingentityname;
到
$billingentityname = $_REQUEST['btval'];
在这种情况下,你真正的错误是你把这两个变量放在这个赋值中的顺序不正确。 $a = $b
表示:将$b
的内容放入$a
。