2016-05-09 79 views
4

一个搜索功能,我在那里的功能是这样定义的搜索框:GET和POST在PHP

if(isset($_POST['search'])) 
{ 
    $orgname= $_POST['search']; 
...... 
} 

的POST搜索是通过表单来。我想知道,有没有办法让这个函数通过链接接受一个获取值呢?例如,如果我使用这样的链接:mysite/page?search=value,我可以使用$orgname=$_GET['search']来触发该功能,而无需提交表单吗?所以会有两种方法从函数中加载数据,一种是通过提交表单,另一种是通过链接,如上所述?这可能吗?我试图这样做,因为我在这个页面上有另一个选项卡,我有一个更新按钮,用户可以在更改表单数据后提交表单。但是在提交表单后,更新函数可以工作,但页面会重新加载并显示一个空白表单。我想在表单提交时显示更新的数据。

+0

你可以使用GET方法,与

,这是默认的行为=> – Loenix

+1

使用$ _REQUEST超全球 –

+0

@MineshPatel,是$ _REQUEST使窗体提交后,再次搜索该值的最佳方法?因为现在,当我提交表单时,页面刷新会擦除数据,因此用户必须再次手动键入搜索值并搜索,以查看更新的数据。或者有没有办法加载更新的数据,而不会离开页面,在表单提交? –

回答

2

如果要使$_GET$_POST具有相同的行为,可以使用超全局的$_REQUEST

如果你想知道你的数据是从哪里来的,(羯羊它是一个GET或POST请求),你可以简单地检查该参数是否存在两个阵列上:

if(isset($_GET['search']) 
{ 
    //We have a GET request 
} 
else if(isset($_POST['search']) 
{ 
    //We have a POST request 
} 
else 
{ 
    //Nothing found 
} 
+0

在提交表单之后,'$ _REQUEST'是使页面再次搜索值的最佳方式吗?因为现在,当我提交表单时,页面刷新会擦除数据,因此用户必须再次手动键入搜索值并搜索,以查看更新的数据。或者有没有办法加载更新的数据,而不会离开页面,在表单提交? –

+0

如果你想异步搜索,那么你需要与AJAX – dimlucas

+0

异步运行脚本,如果使用if(isset($ _ GET ['search'])''工作 –

2

您可以使用$_REQUEST

$_REQUEST - HTTP请求变量

的关联数组默认包含$_GET$_POST$_COOKIE内容。