[英]How to post data from multiple pages in a single form action in codeigniter?
請考慮以下情形。
查看文件代碼
<form id="userProfileForm" action="<?php echo $_SESSION['base_url'];?>home/edit_user" method="post" enctype="multipart/form-data" class="Paragraph-Text">
<label>Name:
<input type="text" name="name">
</label>
<label>Password:
<input type="password" name="password">
</label>
<label for="1" onclick="open_dialog();" class="custom-file-upload font-s-10">
<i class="glyphicon glyphicon-upload"></i> UPLOAD FILE
</label>
<input type="submit">
</form>
腳本
<script>
function open_dialog()
{
$.ajax({
type: "POST",
url: "<?php echo site_url('home/upload_dialog');?>",
data: {count:1},
dataType: "html",
success:
function(html){
$('body').append(html);
$('#child-overlay').animate({opacity: 1}, 400);
}
});
}
</script>
控制器home
function upload_dialog()
{
$this->load->view('home/home-upload-dialog');
}
function upload_area($count)
{
$data['count'] = $count;
$data['accept_file_types']='gif|jpe?g|png|jpg|pdf|cr2|docx|avi|mp4';
$this->load->view('home/upload-area' ,$data);
}
查看home-upload-dialog
<div id="child-overlay-upload">
<div id="popup">
<div class="heading-area">
<p class="heading">UPLOAD FILE</p>
<span id="close"><img src='<?php echo image_url("icons/Cancel-icon.png")?>'></span>
</div>
<div id="popup-contents">
<iframe id="upload-frame" frameborder="0" scrolling="no" height="200" width="100%" src="<?php echo site_url('home/upload_area/' . $_REQUEST['count']);?>"></iframe>
</div>
</div>
</div>
查看upload_area
<input type="hidden" name="file_name" value="someValue">
在這里,如何通過表單操作將數據(從輸入"name","password","file_name"
)發布到控制器? 任何幫助,將不勝感激。 謝謝。
PS:請不要問我為什么要這樣做。
首先查看您的HTML,當用戶單擊“提交”按鈕時,將調用家庭控制器中的函數edit_user()
<form id="userProfileForm" action="<?php echo $_SESSION['base_url'];?>home/edit_user" method="post" enctype="multipart/form-data" class="Paragraph-Text">
因此,在主控制器中的edit_user()
函數中,您將需要執行以下操作
edit_user() {
$username = $_POST['name'];
$password = $_POST['password'];
}
這樣只會讓您訪問名稱和密碼。 至於您嘗試上傳的文件,則在html中缺少<input>
,請參見下文。
<form id="userProfileForm" action="<?php echo $_SESSION['base_url'];?>home/edit_user" method="post" enctype="multipart/form-data" class="Paragraph-Text">
<label>Name:
<input type="text" name="name">
</label>
<label>Password:
<input type="password" name="password">
</label>
<label for="1" class="custom-file-upload font-s-10">
<i class="glyphicon glyphicon-upload"></i> UPLOAD FILE
<input type="file" name="filename">
</label>
<input type="submit">
使用該額外的輸入標簽,您將需要像這樣更改edit_user()
函數
edit_user() {
$username = $_POST['name'];
$password = $_POST['password'];
$filename = $_FILES['filename']['name'];
}
您可能需要花一點時間才能獲得使用該upload_dialog()
函數所要查找的內容。 這是一些參考
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.