$_REQUEST变量不能在线工作

$_REQUEST Variable Not Working Online

本文关键字:在线 工作 不能 变量 REQUEST      更新时间:2023-09-26

我有一个建议搜索框,它有以下代码:

<input style="margin-right: 10px;height: 21px;" type="text" 
       placeholder="Persons First Name" name="individual_name" id="individual_name" 
       onfocus="clearField(this, this.placeholder)" 
       onkeyup="filter_individual_results()"/>
JavaScript

<script>
    $(function() {
        $( "#individual_name" ).autocomplete({
            source: "<?php echo base_url(); ?>frontend_individual/suggest_names",
            minLength      : 3,
            select: function( event, ui ) {
                //$('#ui-id'+i).click(filter_individual_results());
                update_input_box('individual_name',ui.item.value,'2');
                //alert('id :'+ui.item.value) ;
                //document.location.href  = base_url+"controller_name/search?keyword="+ui.item.value; do something or redirect
            },
            success : function(resp) {
                filter_individual_results();//alert("auto");
            },
            error : function() {
                alert("Oops, that didn't work. Please try again.");
            }
        });
    });
</script>
PHP

这里是控制器的建议:

3837: public function suggest_names() {
3838:     print_r($this->user_profile_model->suggest_names($_REQUEST['term']));
3839: }

这个脚本在我的本地PC上工作得很好,但是当我在网上运行这个搜索时,它不起作用。它一直给我这个错误:

<h4>A PHP Error was encountered</h4>
<p>Severity: Notice</p>
<p>Message:  Undefined index: term</p>
<p>Filename: controllers/frontend_individual.php</p>
<p>Line Number: 3838</p>

我想知道为什么它在本地工作而不是在线

您应该使用$_GET,因为该参数是通过查询字符串发送到服务器的。测试它,它会工作得很好。

为什么它在本地工作,而不是当你安装在线网站?这与$_REQUEST的工作方式有关,这可能是在本地服务器上工作而不是在生产服务器上工作的许多原因。

在访问$_REQUEST['term']值之前,明智的做法是检查它是否已设置

if(isset($_REQUEST['term']))
{
     /* do code in here using $_REQUEST['term'] */
}
else
{
    /* possible code to execute when $_REQUEST['term'] has not been initiated */
    /* perhaps an error message */
}

您的php错误消息特别显示了term的未定义索引,并给出了指向包含$_REQUEST['term']的行的行号。