Как передать URL как параметр из представления в контроллер с помощью codeigniter - PullRequest
1 голос
/ 08 октября 2019

У меня проблема при использовании функции с параметром в коде воспламенителя. Я хочу создать функцию, когда мы щелкаем URL-адрес в представлении, автоматически система будет использовать этот URL-адрес в качестве параметра для подключения к функции, которую я сделал в контроллере. Может ли кто-нибудь помочь мне решить эту проблему? Спасибо

Я уже использую

 this->load->helper('url','form','array');

Просмотр

 <?php 
 foreach ($dataView as $items){
    echo "<a href='".site_url("testcontroller/click/".$items['serviceURL']."")."'>".$items>['serviceURL']."</a>".'<br>';    
 ?>

Контроллер

 <?php

 public function click($url=null){

      var_dump($url);
      $datauri['url']=$url;
 }
 ?>

Когда я использую переменную пустышку, я знаю, что URLуже передано просто

  < string(5) "http:">

, но это должен быть полный URL-адрес, такой как

<http://sos.maracoos.org/stable/sos/hrecos/stationHRLCK8H-agg.ncml>

Ответы [ 3 ]

0 голосов
/ 08 октября 2019

Чтобы получить URL, вы должны передать весь URL в качестве параметра. В контроллере, вы можете получить URL в качестве параметра. Здесь вы не передаете URL в качестве параметра.

0 голосов
/ 08 октября 2019

Попробуйте сначала кодировать URL-адреса с помощью urlencode() следующим образом:

foreach ($dataView as $items){
    echo "<a href='".site_url("testcontroller/click/".urlencode($items['serviceURL'])."")."'>".$items>['serviceURL']."</a>".'<br>';    
}

Я думаю, / после http: интерпретируется как другой сегмент URL-адреса

0 голосов
/ 08 октября 2019

Вы можете использовать это:

public function click($url=null)
{
    var_dump($this->uri->segment('3'));
    $datauri['url']=$this->uri->segment('3');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...