当我尝试上传时,$ _FILES始终为空。我不知道该怎么做才能解决这个问题。我正在使用CodeIgniter和bootstrap模式。
我有几个按钮,每个按钮打开一个模态。每个都有一个表格。 每个表单都单独提交
我的观点:
<!-- MODAL -->
<div class="modal fade" id="modal2729" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Preencher os dados do Atleta: Maria Inês Remesso Paixão</h4>
</div>
<div class="modal-body">
<!-- /////// FORM \\\\\\\ -->
<form enctype="multipart/form-data" data-async="2729" action="http://localhost/gestor_akram/inscricao_atletas_epoca_desportiva/inscrever_atletas_epoca_desportiva/inserir_atletas_selecionados" method="POST" id="atletas_escolhidos_form2729" >
<!-- Mensagens -->
<div id="msg2729">
</div>
<div class="form-group">
<label for="nivelAtleta_id">Nível de Atleta <span style="color:#CC0000">*</span></label>
<select class="form-control validate[required]" name="nivelAtleta_id">
<option value="" disabled selected>Escolher...</option>
<option value="1" selected>A</option>
<option value="2">B</option>
<option value="3">C</option>
</select>
</div>
<div class="form-group">
<label for="categoriaPeso_id">Categoria de Peso</label>
<select class="form-control" name="categoriaPeso_id">
<option value="" disabled selected>Escolher...</option>
<option value="6">+54 Kg</option>
<option value="21">+54 Kg</option>
<option value="13">+55Kg</option>
<option value="29">+59 Kg</option>
<option value="35">+68 Kg</option>
<option value="18">+70Kg</option>
<option value="25">+76 Kg</option>
<option value="34">+84 Kg</option>
<option value="2">-30 Kg</option>
<option value="3">-37 Kg</option>
<option value="9">-40 Kg</option>
<option value="4">-44 Kg</option>
<option value="10">-45 Kg</option>
<option value="19">-47 Kg</option>
<option value="26">-48 Kg</option>
<option value="11">-50 Kg</option>
<option value="14">-52 Kg</option>
<option value="27">-53 Kg</option>
<option value="5">-54 Kg</option>
<option value="20">-54 Kg</option>
<option value="12">-55 Kg</option>
<option value="15">-57 Kg</option>
<option value="28">-59 Kg</option>
<option value="30">-60 Kg</option>
<option value="22">-61 Kg</option>
<option value="16">-63 Kg</option>
<option value="31">-67 Kg</option>
<option value="23">-68 Kg</option>
<option value="17">-70 Kg</option>
<option value="32">-75 Kg</option>
<option value="24">-76 Kg</option>
<option value="33">-84 Kg</option>
<option value="1">Open</option>
</select>
</div>
<div class="form-group">
<label for="altura">Altura (cm)</label>
<input type="text" name="altura" class="form-control">
</div>
<!-- SEGUROS -->
<div id="seguroField2729" class="seguro_container">
<fieldset class="scheduler-border">
<legend class="scheduler-border">Dados do Seguro <span style="color:#CC0000">*</span></legend>
<!-- Tipos de Seguro Escolher -->
<div class="form-group">
<label class="radio-inline">
<input class="radiox" id="radioTipoSeguro22729" type="radio" name="tipoSeguro_id" value="2"> <strong>Seguro FNKP Opção 1</strong>
</label>
<label class="radio-inline">
<input class="radiox" id="radioTipoSeguro32729" type="radio" name="tipoSeguro_id" value="3"> <strong>Seguro FNKP Opção 2</strong>
</label>
<label class="radio-inline">
<input class="radiox" id="radioTipoSeguro42729" type="radio" name="tipoSeguro_id" value="4"> <strong>Seguro Privado</strong>
</label>
</div>
<!-- //END// Tipos de Seguro -->
<!-- Tipo Seguro Campos-->
<div id="fieldTipoSeguro22729" class="tipoSeguro_container">
<div class="form-group">
<label for="nrApolice">Nº da Apólice</label>
<input type="text" name="nrApolice[2]" class="form-control">
</div>
<div class="form-group">
<label for="nomeCompanhia">Nome da Companhia</label>
<input type="text" name="nomeCompanhia[2]" class="form-control">
</div>
</div>
<div id="fieldTipoSeguro32729" class="tipoSeguro_container">
<div class="form-group">
<label for="nrApolice">Nº da Apólice</label>
<input type="text" name="nrApolice[3]" class="form-control">
</div>
<div class="form-group">
<label for="nomeCompanhia">Nome da Companhia</label>
<input type="text" name="nomeCompanhia[3]" class="form-control">
</div>
</div>
<div id="fieldTipoSeguro42729" class="tipoSeguro_container">
<div class="form-group">
<label for="nrApolice">Nº da Apólice</label>
<input type="text" name="nrApolice[4]" class="form-control">
</div>
<div class="form-group">
<label for="nomeCompanhia">Nome da Companhia</label>
<input type="text" name="nomeCompanhia[4]" class="form-control">
</div>
<div class="form-group">
<label for="comprativo">Comprovativo</label>
<input type="file" name="comprovativo[4]">
</div>
</div>
<!-- //END// Tipo Seguro -->
</fieldset>
</div>
<!-- END SEGUROS -->
<div class="form-group">
<label for="nrTransacaoFNKP">Nº da Transação FNKP <span style="color:#CC0000">*</span></label>
<input type="text" name="nrTransacaoFNKP" class="form-control">
</div>
<div class="form-group">
<label for="nivelPEP">Nível de PEP</label>
<select class="form-control" name="nivelPEP">
<option value="" disabled selected>Escolher...</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</div>
<div class="form-group">
<input type="checkbox" name="altoRendimentoDRJD" value="1"> Atleta de Alto Rendimento DRJD
</div>
<div class="form-group">
<input type="checkbox" name="altoRendimentoFNKP" value="1"> Atleta de Alto Rendimento FNKP
</div>
<div class="form-group">
<input type="checkbox" name="selecaoRegional" value="1"> Seleção Regional
</div>
<div class="form-group">
<input type="checkbox" name="selecaoNacional" value="1"> Seleção Nacional
</div>
<div class="form-group">
<textarea class="form-control" rows="3" name="observacoes"></textarea>
</div>
<!-- Campos invisíveis -->
<input type="text" name="atleta_id" value="2729" style="display:none" readonly>
<input type="text" name="dojo_id" value="5" style="display:none" readonly>
<input type="submit" class="btn btn-primary btn-sm btn-rect" id="btn_validar_atleta" value="Guardar">
<button type="button" class="btn btn-primary btn-sm btn-rect" data-dismiss="modal">Fechar</button>
</form>
</div>
<!-- ////////////// END FORM \\\\\\\\\\\ -->
</div>
</div>
</div> <!-- /.modal -->
我的控制器:
function inserir_atletas_selecionados() {
//Gravar Época na sessão
$epoca_desportiva_id = $this->session->userdata('epoca_desportiva_id');
//POST
$nrApolice = $this->input->post('nrApolice');
$nomeCompanhia = $this->input->post('nomeCompanhia');
$tipoSeguro_id = $this->input->post('tipoSeguro_id');
//Validações
$base = 'required|xss_clean|encode_php_tags|prep_for_form';
$base2 = 'xss_clean|encode_php_tags|prep_for_form';
$this->form_validation->set_rules('atleta_id', 'Atleta', $base . '|callback_check_atleta[' . $epoca_desportiva_id . ']');
$this->form_validation->set_rules('nivelAtleta_id', 'Nível de Atleta', $base2);
$this->form_validation->set_rules('categoriaPeso_id', 'Categoria de Peso', $base2);
$this->form_validation->set_rules('altura', 'Altura', $base2 . '|integer');
$this->form_validation->set_rules('nivelPEP', 'Nível de PEP', $base2);
$this->form_validation->set_rules('altoRendimentoDRJD', 'Alto Rendimento DRJD', $base2);
$this->form_validation->set_rules('altoRendimentoFNKP', 'Alto Rendimento FNKP', $base2);
$this->form_validation->set_rules('selecaoRegional', 'Seleção Regional', $base2);
$this->form_validation->set_rules('selecaoNacional', 'Seleção Nacional', $base2);
$this->form_validation->set_rules('observacoes', 'Observações', $base2);
$this->form_validation->set_rules('tipoSeguro_id', 'Tipo de Seguro', $base);
$this->form_validation->set_rules('nrTransacaoFNKP', 'Nº da Transação FNKP', $base);
if (!empty($tipoSeguro_id)) {
foreach ($nrApolice as $key => $value) {
if ($tipoSeguro_id == $key) {
$this->form_validation->set_rules('nrApolice[' . $key . ']', 'Nº da Ápolice do ' . $this->global_model->get_tipo_seguro_by_id($tipoSeguro_id)->designacao, $base);
}
}
}
if (!empty($tipoSeguro_id)) {
foreach ($nomeCompanhia as $key => $value) {
if ($tipoSeguro_id == $key) {
$this->form_validation->set_rules('nomeCompanhia[' . $key . ']', 'Nome da Companhia do ' . $this->global_model->get_tipo_seguro_by_id($tipoSeguro_id)->designacao, $base);
}
}
}
//Erros de Validação
if ($this->form_validation->run() == FALSE) {
echo validation_errors();
} else {
//Data da Inscrição
date_default_timezone_set('Europe/Lisbon');
$date = date('Y/m/d h:i:s', time());
//Dados para inserir na Tabela inscricaoatleta
$data_atletas = array();
$data_atletas['nivelAtleta_id'] = $this->input->post('nivelAtleta_id');
$data_atletas['atleta_id'] = $this->input->post('atleta_id');
$data_atletas['categoriaPeso_id'] = $this->input->post('categoriaPeso_id');
$data_atletas['altura'] = $this->input->post('altura');
$data_atletas['dtInscricao'] = $date;
$data_atletas['nivelPEP'] = $this->input->post('nivelPEP');
$data_atletas['altoRendimentoDRJD'] = $this->input->post('altoRendimentoDRJD');
$data_atletas['altoRendimentoFNKP'] = $this->input->post('altoRendimentoFNKP');
$data_atletas['selecaoRegional'] = $this->input->post('selecaoRegional');
$data_atletas['selecaoNacional'] = $this->input->post('selecaoNacional');
$data_atletas['observacoes'] = $this->input->post('observacoes');
$data_atletas['epoca_desportiva_id'] = $epoca_desportiva_id;
$data_atletas['dojo_id'] = $this->input->post('dojo_id');
$data_atletas['nrTransacaoFNKP'] = $this->input->post('nrTransacaoFNKP');
$data_atletas['tipoSeguro_id'] = $tipoSeguro_id;
$data_atletas['nrApolice'] = $nrApolice[$tipoSeguro_id];
$data_atletas['nomeCompanhia'] = $nomeCompanhia[$tipoSeguro_id];
print "<pre>";
print_r($_FILES);
print "</pre>";
}
}