如何存储$ _REQUEST中的参数供以后使用

时间:2012-05-03 11:04:11

标签: php search parameters request

我有一个带有表单的html页面。在表单中,我有一个搜索功能和一个删除功能,可以在每个结果的行中使用,这样:

..<td><img src="delete.gif" style="cursor: pointer" onClick="javascript:delete();"></td>..

    <input type="submit"   value="search" onClick="javascript:search();">

在一个。 js文件我有两个函数通过jquery的ajax函数将参数传递给php文件。

我们去php文件:

搜索功能没有问题:我通过$ _REQUEST获取参数,然后执行select查询。

通过单击表单中的delete.gif,我进入删除功能。在我需要调用搜索功能之后,查询将删除所选行,因此我可以显示没有删除行的结果。

这就出现了麻烦:两个函数都使用$ _REQUEST来构建查询,因此在删除后调用搜索函数时,我将删除参数存储在$ _REQUEST中。

如何在第一次搜索中恢复$ _REQUEST中的搜索参数,以便删除后再次进行搜索?

以下是php文件中删除功能的一瞥​​:

function deleteResult($_REQUEST['param1'],$_REQUEST['param2'], $_REQUEST['param3'])
{  
    $strSqlDelete = "DELETE FROM …"; // query working in database
    //here the connecting to the database code
        $result = search($_REQUEST['param1'],$_REQUEST['param2'], $_REQUEST['param3']);
        echo utf8_encode($result);
        exit();
}

非常感谢!!

3 个答案:

答案 0 :(得分:1)

使用$_REQUEST超全局不太安全。根据您的方法,使用$_POST$_GET。要存储某些内容供以后使用,请使用$_SESSION suberglobal数组。

    session_start(); // In the beginning of your script

...

    $_SESSION['param1'] = $_REQUEST['param1'];

然后,即使在重新加载页面之后,您也可以在网站中的任何其他位置使用$_SESSION['param1']

答案 1 :(得分:0)

将其存储在本地变量中,或者您可以将它们存储到cookie中。这样你就可以多次使用它。

答案 2 :(得分:0)

你也可以通过javascript

来做到这一点

更喜欢删除此行而不是再次调用服务器端以再次呈现结果

现在您将不需要的命中保存到服务器端

例如

// in JS
   function delete(this){
      $.ajax({}); // call ajax to delete from server side (php)<br>
      delete this row (tr);<br>
   }