如何在php包含文件中通过post方法发送参数?

时间:2010-10-28 06:40:10

标签: php jquery

美好的一天。我在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']。但我没有得到。

2 个答案:

答案 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