Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何在php-codeigniter中使用cookie的值进行搜索_Mysql_Codeigniter_Search_Cookies - Fatal编程技术网

Mysql 如何在php-codeigniter中使用cookie的值进行搜索

Mysql 如何在php-codeigniter中使用cookie的值进行搜索,mysql,codeigniter,search,cookies,Mysql,Codeigniter,Search,Cookies,我第一次访问时有一个弹出对话框。您可以使用半径设置邮政编码。提交时,cookies已设置并显示在主网页上: 您可以在这里尝试: 现在您可以看到一个搜索表单,用于在我的数据库中搜索工厂。我的Factorys表如下所示: Factories - - - - - idfactories factoryname postcode place telephonenumber email website profile adress 注意:我的表中有一个邮政编码字段。那么,如何使用我使用cookies设

我第一次访问时有一个弹出对话框。您可以使用半径设置邮政编码。提交时,cookies已设置并显示在主网页上:

您可以在这里尝试:

现在您可以看到一个搜索表单,用于在我的数据库中搜索工厂。我的Factorys表如下所示:

Factories
- - - - - 
idfactories
factoryname
postcode
place
telephonenumber
email
website
profile
adress
注意:我的表中有一个邮政编码字段。那么,如何使用我使用cookies设置的邮政编码在该表中搜索

设置cookie的我的代码:

    <form method="post" action="">
        <input type="text" name="postcode" placeholder="postcode">
    <select name="radius">
        <option disabled selected>Afstand</option>
        <option>5km</option>
        <option>10km</option>
        <option>15km</option>
        <option>25km</option>
    </select>
    <br /><br />
        <input type="submit" value="Opslaan">
        <input type="hidden" name="submitted" value="true">
        <input type="hidden" name="afstand" value="true" />
    </form>

<?php
    if(isset($_POST['postcode']))
    {
        setcookie('postcode', $_POST['postcode'], time() + (20 * 365 * 24 * 60 * 60));
        setcookie('radius', $_POST['radius'], time() + (20 * 365 * 24 * 60 * 60));
        header("location: {$_SERVER['PHP_SELF']}");
    };

?>

<?php

if (isset($_POST["set_radius"])) {
}
?>
我的控制器功能:

function searchresults()
{   
    $this->breadcrumbs->page = array('link'=> base_url().'home/search' ,'title' => 'Bedrijven Zoeken' );            
    $this->breadcrumbs->method = array('link'=> base_url().'home/searchresults' ,'title' => 'Zoekresultaten' );
    $data['breadcrumbs'] = $this->breadcrumbs->get();
    $match = $this->input->post('search');
    $data['query'] = $this->bedrijven_model->get_search($match);
    $this->load->view('views/header');
    $this->load->view('views/searchresults', $data);
    $this->load->view('views/footer');
    $data['query'] = $this->bedrijven_model->bedrijven_tags();
}

我试着使用
$this->input->cookie('search')但它不起作用

首先,我不知道用“swarch”键将cookie保存在哪里。我只看到邮政编码和半径。然后,您必须像这样检索cookie

$this->input->cookie('postcode')
无论如何,如果您正在设置正确的cookie。您正在加载cookie帮助程序吗

$this->load->helper('cookie');

干杯

我通过简单地将以下代码添加到控制器函数中来修复它

$match = $this->input->cookie('postcode');

Codeigniter太棒了

我输入了一个输入错误,它必须是“搜索”,但我正在使用cookie助手。我只需要codeigniter知道cookie postcode意味着我工厂表中的字段“postcode”。我可以使用cookie的值进行搜索,这样它就可以在邮政编码行中进行搜索。我从来没想过它会这么简单。我通过执行$match=$this->input->cookie('postcode')修复了它;谢谢
$match = $this->input->cookie('postcode');