Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tiip

O cadastro está sempre dando erro.

Recommended Posts

Fala galera, então, estou desenvolvendo um painel de administração e logo na etapa de cadastro de usuários, ele nunca cadastra, sempre da erro.

Abaixo vai os códigos:

 

controller.php

<?php
ob_start(); session_start();
require '../funcoes/banco/conexao.php';
require '../funcoes/login/login.php';
require '../funcoes/crud/crud.php';
$acao = filter_input(INPUT_POST, 'acao', FILTER_SANITIZE_STRING);
sleep(1);
switch ($acao) :
    case 'login' :
        // Faz a interação
        $login = filter_input(INPUT_POST, 'login', FILTER_SANITIZE_STRING);
        $senha = filter_input(INPUT_POST, 'senha', FILTER_SANITIZE_STRING);
        if (login($login, $senha)):
            // Cria a sessão
            $_SESSION['administrador'] = pegaLogin($login);
        else:
            $dados = pegaLogin($login);
            if(empty($login) || empty($senha)) :
                echo 'vazio';
            elseif (!$dados) :
                echo 'naoexiste';
            elseif($dados->administrador_senha != md5(strrev($senha))) :
                echo 'diferentesenha';
            elseif($dados->administrador_nivel > 2) :
                echo 'nivel';
            endif;
        endif;
        break;

    case 'cadastro' :
        $nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_STRING);
        $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
        $login = filter_input(INPUT_POST, 'login', FILTER_SANITIZE_STRING);
        $senha = filter_input(INPUT_POST, 'senha', FILTER_SANITIZE_STRING);
        $nivel = filter_input(INPUT_POST, 'nivel', FILTER_SANITIZE_STRING);
        if (cadastro($nome, $login, $email, $senha, $nivel)) :
            echo "cadastrou";
        else :
            echo "erro";
        endif;
    break;

    default :
        echo 'Erro';
        break;
endswitch;
ob_end_flush();

ajax/painel.php

<?php
$acao = filter_input(INPUT_POST, 'acao', FILTER_SANITIZE_STRING);

switch ($acao) {
    case 'form_cad':
        ?>
            <form action="" name="form_cad" method="post">
      <div class="form-group">
        <label for="nome">Nome</label>
        <input type="text" class="form-control" name="nome" placeholder="Digite o nome">
      </div>
      <div class="form-group">
        <label for="login">Login</label>
        <input type="text" class="form-control" name="login" placeholder="Digite um login">
      </div>
        <div class="form-group">
        <label for="email">E-Mail</label>
        <input type="email" class="form-control" name="email" placeholder="Digite o email">
      </div>
        <div class="form-group">
        <label for="senha">Senha</label>
        <input type="password" class="form-control" name="senha" placeholder="Digite uma senha">
      </div>
        <div class="form-group">
        <label for="nivel">Nivel</label>
        <select class="form-control">
            <option value="">Escolha uma opção</option>    
            <option value="1">Administrador</option>
            <option value="2">Moderador</option>
        </select>
      </div>
    <div class="checkbox">
        <p class="pull-right">
        <img src="img/load.GIF" class="load" alt="Carregando" style="display: none;"/>
        <button type="submit" class="btn btn-primary">Cadastrar</button>
        </p>       
    </div>
    </form>
    <div class="retorno"></div>
        <?php
        break;
    
    default:
        echo 'Nada';
        break;
    
    
}

painel.js

$(document).ready(function(){
    var janela = $('#janela');
    var conteudo = $('.modal-body');
    janela.click(function(){
        $.post('ajax/painel.php', {acao: 'form_cad'}, function(retorno){
            $('#myModal').modal({backdrop: 'static'});
            conteudo.html(retorno);
        });        
    });
    
    $("#myModal").on("submit", 'form[name="form_cad"]', function(){
        var form = $(this);
        var botao = form.find(':button');
        
        $.ajax({
            url: 'ajax/controller.php',
            type: 'POST',
            data: 'acao=cadastro&'+form.serialize(),
            beforeSend: function(){
                botao.attr('disabled', true);  
                $('.load').fadeIn('slow');
            },
            success: function(retorno){
                botao.attr('disabled', false);  
                $('.load').fadeOut('slow');
                if (retorno === 'cadastrou') {
                    msg('Administrador cadastrado com sucesso','sucesso');
                }else {
                    msg('Erro ao cadastrar administrador','erro');
                }
            }
        });
        
        return false;
    });
    
     // FUNÇÕES GERAIS
    function msg(msg, tipo){
        var retorno = $('.retorno');
        var tipo = (tipo === 'sucesso') ? 'success' : (tipo === 'alerta') ? 'warning' : (tipo === 'erro') ? 'danger' : (tipo === 'info') ? 'info' : alert('Informe qual o tipo de sua mensagem');
        
        retorno.empty().fadeOut('fast', function(){
            return $(this).html('<div class="alert alert-'+tipo+'">'+msg+'</div>').fadeIn('slow');
        });
        setTimeout(function(){
            retorno.fadeOut('slow').empty();
        }, 9000);
    }
});

crud.php

<?php

// Função de cadastro
function cadastro($nome, $login, $email, $senha, $nivel){
    $pdo = conecta();
    try{
        $cadastro = $pdo->prepare("INSERT INTO administrador (administrador_nome, administrador_login, administrador_email, administrador_senha, administrador_nivel) VALUES (?,?,?,?,?)");
        $cadastro->bindValue(1, $nome, PDO::PARAM_STR);
        $cadastro->bindValue(2, $login, PDO::PARAM_STR);
        $cadastro->bindValue(3, $email, PDO::PARAM_STR);
        $cadastro->bindValue(4, md5(strrev($senha)), PDO::PARAM_STR);
        $cadastro->bindValue(5, $nivel, PDO::PARAM_STR);
        $cadastro->execute();
        
        if ($cadastro->rowCount() > 0) :
            return TRUE;
        else :
            return FALSE;
        endif;
    }catch(PDOException $e){
        echo $e->getMessage();
    }
}

Espero que vocês consigam me ajudar.

 

Agradeço desde já,

tiiP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.