2017-10-28 104 views
0

每個用戶都有多個配置文件。一旦他們登錄,他們被要求選擇一個配置文件,從視圖到控制器的Codeigniter數據

這裏是窗體選擇配置文件的代碼。

 <div class="row"> 
     <div class="col-md-4 col-md-offset-4"> 
      <div class="login-panel panel panel-default"> 
       <div class="panel-heading"> 
        <h3 align ="center" class="panel-title">Select Profiles</h3> 
       </div> 
       <div class="panel-body"> 
        <?php 
         foreach($resJacs->{'details'} as $key) { 
          echo form_open('selectaccess', array(
           'class' => 'form-group', 
           'role' => 'form' 
          )); 
          echo form_submit(array(
           'value' => $key->profile_name, 
           'name' => $key->profile_type, 
           'class' => 'btn btn-lg btn-default btn-block' 
          )); 
          echo form_close(); 
         } 
        ?> 
       </div> 
      </div> 
     </div> 
    </div> 

當用戶選擇配置文件配置文件ID傳遞給會話供以後使用。這裏是「selectaccess」的代碼,

public function SelectAccess() { 
    $sess_data = array(
     'id' => $this->session->userdata['is_logged_in']['id'], 
     'prfid' => $this->input->post('') 
    ); 

    print_r($sess_data); 
} 

我怎麼能prfid提到selectaccess方法。

+0

什麼是prfid? – user8455694

+0

您正在爲提交按鈕動態分配name屬性,名稱=> $ key-> profile_type'。如果你這樣做,你不能在服務器端檢索值。 –

+0

@ViswalingaSuryaS你能否給我一個建議。 –

回答

0

我只是想舉一個例子,也許這可以幫助你:

我使用純html。

<form action="SelectAccess/<?php echo $id; ?>"> 
<input type="text" name="name"> 
<button type="submit">Submit</button> 
</form> 

控制器

function SelectAccess($val='') { 
$input = $this->input->post('name'); 
$_SESSION['whatever'] = $val; 
} 
0

通常你需要知道的字段的名稱,以獲得在控制器中的值。但是,您正在動態創建字段名稱,因此變得棘手。

幸運的是,您只發佈一個輸入,所以$_POST應該只有一個項目。您的觀點書寫方式$_POST[0]的價值將由$key->profile_name提供。希望這個價值就是你想要的。

public function SelectAccess() { 
{ 
    $sess_data = array(
     'id' => $this->session->userdata['is_logged_in']['id'], 
     'prfid' => isset($_POST[0])) ? $_POST[0] : NULL; 
    ); 
} 
+0

其不能正常工作。 –

+0

「它不工作」不幫助我幫助你。 「不工作」是什麼意思?我編輯了答案。也許這會幫助你理解發布的價值。 – DFriend

相關問題