Welcome Guest, Not a member yet? Register   Sign In
Retorno a pagina anterior
#1

boa noite, não estou conseguindo retornar a pagina anterior quando apresenta erro, é redirecionado para a outro método.
O funcionamento correto seria, na pagina de alteração do usuário caso algum campo obrigatório não seja preenchido é retorno para essa página de alteração com os dados que foram alterados ou antigos, ocorre que esta mandando para o a de cadastro de usuário 

model
PHP Code:
 protected $table = 'usuario';
    protected $primarykey = 'UsuID';

    protected $allowedFields = [
        'UsuID', 'UsuLogin', 'UsuNome', 'UsuCPF', 'UsuNivel', 'UsuStatus', 'UsuSenha'
    ];

    protected $validationRules = [
        //'UsuLogin' => 'is_unique[usuario.UsuLogin]|required',
        'UsuLogin' => 'required',
        'UsuNome'  => 'required',
        'UsuSenha' => 'required',
        'UsuCPF'   => 'required',
        'UsuNivel' => 'required',
        'UsuStatus' => 'required',
        'UsuSenha' => 'required'

    ];
    protected $validationMessages = [
        'UsuLogin' => [
            // 'is_unique' => 'Usuário já cadastrado.',
            'required' => 'Campo Obrigatório.'
        ],
        'UsuNome' => [
            'required' => 'Campo Obrigatório.'
        ],
        'UsuCPF' => [
            'required' => 'Campo Obrigatório.'
        ],
        'UsuNivel' => [
            'required' => 'Campo Obrigatório.'
        ],
        'UsuStatus' => [
            'required' => 'Campo Obrigatório.'
        ],
        'UsuSenha' => [
            'required' => 'Campo Obrigatório.'
        ]
    ];
    protected $skipValidation = false;




 public function updaterecord($data)
    {   
        return $this
->where('UsuID', $data['UsuID'])
            ->set([
                'UsuNome' =>   $data['UsuNome'],
                'UsuCPF' =>    $data['UsuCPF'],
                'UsuLogin' =>  $data['UsuLogin'],
                'UsuNivel' =>  $data['UsuNivel'],
                'UsuStatus' => $data['UsuStatus']
            ])
            ->update();
    

controller 
PHP Code:
    public function saveupdate()
    {
        if ($this->request->getMethod() === 'post') {
            $data = $this->request->getPost();
            if ($this->usuarioModel->updaterecord($data) == false) {
                $session = session();
                $msgerrors = ['errors' => $this->usuarioModel->errors()];
                $session->setFlashdata($msgerrors, $data);
                return redirect()->back()->withInput();
            } else {
                echo view('includes/header');
                echo view('includes/menu');
                $data['msg'] = 'Usuário alterado com sucesso.';
                echo view('includes/msgsucesso', $data);
                echo view('usuario');
                echo view('includes/footer');
            }
         } 
       


view, apenas um trecho
Code:
   <form action="<?php echo base_url('Usuario/saveupdate') ?>" method="post">
        <div class="form-row">
            <input type="hidden" class="form-control" name="UsuID" id="iptusuid"
            value="<?php echo isset($dados[0]['UsuID']) ? $dados[0]['UsuID'] : old('UsuID') ?>">
          <div class="form-group col-md-10 ipttxt">
            <label for="lblusunome">Nome </label>
            <input type="text" class="form-control" name="UsuNome" id="iptusunome" autofocus 
            value="<?php echo isset($dados[0]['UsuNome']) ? $dados[0]['UsuNome'] : old('UsuNome') ?>">
            <?php if (isset($_SESSION['errors']['UsuNome'])) { ?>
              <label style="color: red">
                <?= esc($_SESSION['errors']['UsuNome']) ?>
              <?php } ?> </label>
          </div>
          <div class="form-group col-md-2 ipttxt">
            <label for="lblusucpf">CPF</label>
            <input type="text" class="form-control" id="iptusucpf" name="UsuCPF" 
            value="<?php echo isset($dados[0]['UsuCPF']) ? $dados[0]['UsuCPF'] : old('UsuCPF') ?>">
            <?php if (isset($_SESSION['errors']['UsuCPF'])) { ?>
              <label style="color: red">
                <?= esc($_SESSION['errors']['UsuCPF']) ?>
              <?php } ?> </label>
          </div>
        </div>
Reply
#2

(This post was last modified: 07-14-2020, 06:39 PM by php_rocs.)

@rafapirapo,

Just a reminder to use English unless you are in one of the Regional User Group forums (https://forum.codeigniter.com/forum-25.html). Thx
Reply




Theme © iAndrew 2016 - Forum software by © MyBB