找不到url在url上发送编码参数

时间:2019-06-13 14:00:35

标签: php codeigniter codeigniter-3

我已经在路线上设置了该网址

$route['usuario/login_no_pass_no_data/(:any)']['GET'] = 'Public/Login/no_pass_no_data/$1';

但是当我尝试使用这样的网址发出请求

http://mydomain/usuario/login_no_pass_no_data/1JZsJnvUHe%2BGivuFoQEBuV6fz1SXoiYxxw39bjZKoFhxZG98XIm8CDKMky1cZOSoWu4nJqYia0gEmYXbO%2F2elHb%2F3tP2hppPMowf4q2eaOs%3D

我收到此错误

The requested URL /usuario/login_no_pass_no_data/0SnjpV8gDCygjV+U0kwk861UmVEa9clv47SPv0oICbw4s5aQTvhXLpUc0nSWe7eExP5oQFHat1/gZXXu5TDR59rWMdaUotZKV2EOdeNh6xQ= was not found on this server.

这是功能

public function no_pass_no_data($encoded_email){
        //$encoded_email='0SnjpV8gDCygjV%2BU0kwk861UmVEa9clv47SPv0oICbw4s5aQTvhXLpUc0nSWe7eExP5oQFHat1%2FgZXXu5TDR59rWMdaUotZKV2EOdeNh6xQ%3D';
        $encoder = $this->di->find('ssl_cipher');
        $storage = $this->di->find('storage');
        $salt = $storage->executeSQL("select text from translations where entity='Salt'", \PDO::FETCH_ASSOC)[0]['text'];
        $decoded_email =  $encoder->decode(urldecode($encoded_email), $salt);
        $client = $storage->findOneBy('Client',array('email'=>$decoded_email));
        $this->login_user($client->getId());
        redirect('usuario/datos','location');
    }

如果我取消注释$encoded_email,则一切正常,因此存在无法识别网址的问题,但我不知道是什么问题

0 个答案:

没有答案