2016-03-21 21 views
1

我需要使用CodeIgniter實現事件註冊功能,以顯示事件詳細信息並提供註冊條目。如何呈現一些不在表單中的數據,但是與表單數據一起?

用戶需要登錄才能註冊,因此我會將用戶信息保存在會話中,一旦他登錄,然後點擊註冊按鈕,名稱和手機將顯示一個表單。

我想要做的是從窗體中檢索信息,再加上用戶信息(在會話中)+ event_id,然後將所有信息呈現給CI控制器以繼續此過程。

這裏我的問題是,我們可以在表單中設置一個動作,它將直接轉到控制器,只有表單數據,我想添加的數據如user_id,event_id(這將存儲在頁面中在一些html標籤下)?是否有可能呈現一些不在表格中的數據,但可以與表單數據一起使用?

這裏是我的登記表:

<body style="height: auto; overflow: auto;"> 

<form method="post" action="<?php echo BASE_URI.'registration_manager/add_registration'; ?>"> 
    <div> 
     <input type="text" name="user" id="registration_name" placeholder="name"> 
     <input type="text" name="mobile" id="registration_mobile" placeholder="mobile"> 
     <input type="submit" data-inline="true" value="Register"> 
    </div> 
</form> 

... 

<div event_id="1337"></div>  // I am not sure if this is proper way to store the event_id here? 

</body> 

我要發送的姓名,手機,USER_ID,EVENT_ID到registration_manager/add_registration行動,我應該怎麼辦?

+0

人們(不是我)順便說一下這個問題,因爲它缺少代碼,這使得它無法回答。放一些代碼,你可能會得到你需要的幫助 –

+0

說些什麼:請查看[幫助]中有關StackOverflow的問題的指導。請注意,您需要完成基礎研究,提供您已經嘗試過的代碼並解釋它如何工作。就目前而言,你的問題「太廣泛」。 –

回答

1

在你的控制器,你可能有類似以下內容: $this->load->view('path/to/form', array('form_data' => $form_data));這將讓加載視圖,讓您使用的值在$form_data該視圖中。

爲了得到這個與會話數據時,您可以在會話信息加載到一個變量,並傳遞至太:

$this->load->library('session'); // loads the session library 
$session_data = $this->session->userdata(); // loads everything from the session into a variable $session_data 
$this->load->view('path/to/form', array(
    'form_data' => $form_data, 
    'session_data' => $session_data 
    )); // lets you access $form_data and $session_data in the view 

在你看來,你可以再有類似的行:

<div event_id="<?php echo $session_data['event_id'];?>"></div> 

看看CodeIgniter Session documentation你可以用這些會話做些什麼。

+0

event_id不應該存儲在會話中,不是? 如果我們有很多活動,我們不能儲存所有活動。 event_id應該來自html(內容來自DB,我認爲event_id不應該存儲在會話中) – seaguest

+0

您可以將它存儲在您要加載的特定事件的會話中。假設您正在調用事件/編輯,您可以將事件的ID作爲頁面加載的一部分,然後將其存儲到會話中。一旦數據被驗證並存儲(從發佈的表單),您可以從會話中清除該事件ID。這個方法也可以讓你檢查event_id沒有被篡改 – gabe3886

相關問題