Страницы

Поиск по вопросам

Показаны сообщения с ярлыком kohana-3. Показать все сообщения
Показаны сообщения с ярлыком kohana-3. Показать все сообщения

четверг, 23 января 2020 г.

Странный роутинг в kohana3

#php #kohana_3 #маршрутизация


Приветствую вас. Столкнулся с очень странной проблемой: kohana3, судя по поведению,
в нетрезвом состоянии, так как при правильно заданном маршруте для роутера выскакивает
ошибочка:
Kohana_HTTP_Exception [ 404 ]: The requested URL signup was not found on this server.

Маршрут написан по мануалу в точности.
Route::set('assest', '',
    array(
        'action' => '(login|signup|logout)'
    ))
    ->defaults(array(
        'controller' => 'Assest'
    ));

.htaccess стандартный, изменения не вносились.
Вот такие вот странности, знает кто, как лечить это?    


Ответы

Ответ 1



Снова моя не внимательность, не обратил внимание на строчку из документации, так как она написано очень мелким шрифтом, которая гласит, что маршрут должен быть задан до стандартного :D

вторник, 16 июля 2019 г.

CURL POST params PHP

Нужно передать POST-ом некоторые параметры на определённый url. Для тестирование, я отправляю на свой action. Вот такой код:
$url = 'https://mysite/payboutique/paymentResult'; $xml_data = 'some data'; $data = array('xml' => urlencode($xml_data));
$headers = array( 'Content-type: text/xml', 'Content-length: '.strlen($xml_data), );
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_exec($ch);
В соответственном action я написал такой код:
$xml = Arr::get($_POST, 'xml', ''); Log::instance()->add(Log::NOTICE, 'Post:'.$xml); $xml = Arr::get($_GET, 'xml', ''); Log::instance()->add(Log::NOTICE, 'Get:'.$xml); Log::instance()->add(Log::NOTICE, implode("|",$_POST));
Посмотрел по логам, а ничего не пришло? Как вы поняли, мне нужно передать постом параметр с именем "xml". Что я не так сделал?
В логах:
2015-07-22 10:26:29 --- NOTICE: Post: in /.../system/classes/Kohana/Controller.php:84 2015-07-22 10:26:29 --- NOTICE: Get: in /.../system/classes/Kohana/Controller.php:84 2015-07-22 10:26:29 --- NOTICE: in /.../system/classes/Kohana/Controller.php:84


Ответ

Если вы хотите отправить с запросом POST параметры, вам нужен не Content-type: text/xml, а Content-type: application/x-www-form-urlencoded. Этот заголовок устанавливается самим CURL'ом автом-ки, если вы передадите в CURLOPT_POSTFIELDS url-encoded строку (для этого нужно вызвать функцию http_build_query). Так что вам не нужно вручную передавать HTTP заголовки, оставьте это CURL'у.
И читайте мануалы, в конце концов.

суббота, 16 марта 2019 г.

Странный роутинг в kohana3

Приветствую вас. Столкнулся с очень странной проблемой: kohana3, судя по поведению, в нетрезвом состоянии, так как при правильно заданном маршруте для роутера выскакивает ошибочка: Kohana_HTTP_Exception [ 404 ]: The requested URL signup was not found on this server. Маршрут написан по мануалу в точности. Route::set('assest', '', array( 'action' => '(login|signup|logout)' )) ->defaults(array( 'controller' => 'Assest' )); .htaccess стандартный, изменения не вносились. Вот такие вот странности, знает кто, как лечить это?


Ответ

Снова моя не внимательность, не обратил внимание на строчку из документации, так как она написано очень мелким шрифтом, которая гласит, что маршрут должен быть задан до стандартного :D