Web sitem, Codeigniter kullanılarak oluşturulmuştur ve kullanıcıların kendi bilgilerini değiştirmeleri için bir alan vardır. Bu alan, kullanıcıların bir profil resmi seçmesine izin verir ve düzenlerken, seçilen fotoğraf önizlenir. Yeni bir tane seçmedikleri takdirde, ismini saklayan bir hidden
alanı vardır, aynı görüntü adını belirtmek için denetleyiciye iletilir, ancak kullanıcı değiştirmeye karar verirse, yeni ad denetleyiciye iletilir.
<form action="/auto/usuario/edit/<?php echo $id_usuario; ?>" method="POST" class="formulario" enctype="multipart/form-data">
<input type="hidden" name="tipo_usuario" value="F"/>
<div class="p100">
<span class="titulo">Foto de Perfil</span>
<div class="imagem_destaque img_perfil image-trigger">
<div class="file-upload-trigger">
<input type="file" name="imagem" class="none file-chooser"/>
<img src="/uploads/perfil/<?php echo $u['imagem'] ?>" class="preview more"/>
</div>
</div>
<input type="hidden" name="imagem_old" value="<?php echo $u['imagem']; ?>"/>
</div>
, iyi çalışıyor, ama yeni bir görüntü seçmezseniz Firefox 45'te, bir hata atılır:
public function edit($id) { $this->input->post('tipo_usuario') === 'F' ? $validator = 'editar_pessoa_fisica' : $validator = 'editar_pessoa_juridica'; if ($this->form_validation->run($validator)) { $data = array(); $data['nome_razao_social'] = $this->input->post('nome_razao_social'); $data['nome_responsavel'] = $this->input->post('nome_responsavel'); $data['nome_fantasia'] = $this->input->post('nome_fantasia'); $data['cpf_cnpj'] = $this->input->post('cpf_cnpj'); $data['telefone'] = $this->input->post('telefone'); $data['telefone_2'] = $this->input->post('telefone_2'); $data['email'] = $this->input->post('email'); $data['novo_email'] = $this->input->post('novo_email'); $data['senha'] = md5($this->input->post('senha')); $data['cep'] = $this->input->post('cep'); $data['logradouro'] = $this->input->post('logradouro'); $data['id_cidade'] = $this->input->post('id_cidade'); $data['id_estado'] = $this->input->post('id_estado'); $data['numero'] = $this->input->post('numero'); $data['complemento'] = $this->input->post('complemento'); $data['tipo_usuario'] = $this->input->post('tipo_usuario'); /* HERE IS IN CASE THE USER DOES NOT CHANGE HIS PROFILE PICTURE */ $data['imagem'] = $this->input->post('imagem_old'); $data['url'] = $this->input->post('url'); // Nova senha? if ($this->input->post('novasenha') !== '') { $data['senha'] = md5($this->input->post('novasenha')); } else { $data['senha'] = $this->input->post('senha'); } /* HERE IS IN CASE THE USER CHANGES HIS PROFILE PICTURE */ // Nova imagem? if ($_FILES['imagem']['name'] !== '') { $data['imagem'] = $_FILES['imagem']['name']; } // Novo e-mail? if ($this->input->post('email') !== $this->input->post('novoemail')) { $data['novo_email'] = $this->input->post('novoemail'); $this->Usuarios_model->update($data, $id); $this->Usuarios_model->send_confirmation_email($data['novo_email'], $data['email']); } if ($this->input->post('novo_novo_email') !== $this->input->post('novo_email')) { $data['novo_email'] = $this->input->post('novo_novo_email'); $this->Usuarios_model->update($data, $id); $this->Usuarios_model->send_confirmation_email($data['novo_email'], $data['email']); } if ($this->Usuarios_model->update($data, $id)) { $this->upload->do_upload('imagem'); $this->session->set_flashdata('message', 'Dados alterados'); echo json_encode(array( 'redirect' => '/usuario/painel' )); } } else { echo json_encode(array( 'type' => 'validation', 'message' => validation_errors(), )); } }
Bu
HTML'dirÖnem:
Mesaj Uyarı: Tanımsız endeksi: IMAGEM
.210Dosya adı: kontrolörleri/Usuario.php
Hat Numarası: Sadece lokal olarak çalışır 362
.
Form kapatma etiketiniz nerede? Onu kapatıp kapatabilir misin? –