jxcostas 0 Denunciar post Postado Julho 30, 2019 Meu programa é um sistema de votação o aluno escolhe somente 1 curso e os dados da escolha do aluno vão para a tabela inscricoes com esses dados: ($_GET['id'] . "', (id do curso selecionado) ($_SESSION['nome_usuario'] (Nome do usuario logado) ($_SESSION['email'] (email do usuario logado) (Até aqui tudo funcionando consigo inscrever o usuario e adicionar sua inscrição) Queria colocar mais uma verificação para não deixar o aluno inscrever-se mas não estou conseguindo verificar se já existe email cadastrado na tabela (inscricoes) estou tentando utilizar $_SESSION para verificar se o email já votou podem me ajudar, fiquei meio perdido não estou lembrando se posso comparar com $_SESSION ou outra forma de validar. <?php session_start(); include_once("conexao.php"); //Verificar se está vindo a variável id pela URL if (isset($_GET['id'])) { if (isset($_COOKIE['voto_cont'])) { $_SESSION['msg'] = "<div class='alert alert-danger'>Você não pode mais inscrever-se!</div>"; header("Location: cursos.php"); } else { //Pesquisar se o produto está cadastrado no banco de dados $result_prod = "SELECT * FROM produtos WHERE id ='" . $_GET['id'] . "'"; $resultado_prod = mysqli_query($conn, $result_prod); if (($resultado_prod) AND ( $resultado_prod->num_rows != 0)) { $row_prod = mysqli_fetch_assoc($resultado_prod); } //Verificar se o produto já tem 20 votos if ($row_prod['qnt_voto'] <= 19) { setcookie('voto_cont', $_SERVER['REMOTE_ADDR'], time() + 10); $result_produto = "UPDATE produtos SET qnt_voto=qnt_voto + 1 WHERE id ='" . $_GET['id'] . "'"; $resultado_produto = mysqli_query($conn, $result_produto); //Verificar se já existe email na tabela inscricoes $result_usuario = "SELECT id FROM inscricoes WHERE email='". $_SESSION['email'] ."'"; $resultado_usuario = mysqli_query($conn, $result_usuario); if(($resultado_usuario) AND ($resultado_usuario->num_rows != 0)){ $erro = true; $_SESSION['msg'] = "Este e-mail já está cadastrado"; } //Inserir na tabela incricoes nome do curso selecionado, nome e email do usuario logado // var_dump($dados); $result1_usuario = "INSERT INTO inscricoes (nome_curso, nome_usuario, email) VALUES ( '" . $_GET['id'] . "', '" . $_SESSION['nome_usuario'] . "', '" . $_SESSION['email'] . "' )"; $resultado1_usario = mysqli_query($conn, $result1_usuario); if (mysqli_affected_rows($conn)) { $_SESSION['msg'] = "<div class='alert alert-success'>Inscrição efetuada com sucesso!</div>"; header("Location: cursos.php"); } else { $_SESSION['msg'] = "<div class='alert alert-danger'>Erro ao inscrever-se!</div>"; header("Location: cursos.php"); } } else { $_SESSION['msg'] = "<div class='alert alert-danger'>Você não pode mais inscrever-se, Limite de 20 vagas do curso !</div>"; header("Location: cursos.php"); } } } Compartilhar este post Link para o post Compartilhar em outros sites
Felipe Guedes Coutinho 0 Denunciar post Postado Julho 30, 2019 jxcostas Questão - Não estou conseguindo verificar se já existe email cadastrado na tabela (inscricoes)? Resposta: Seu código possui um furo, veja o código que está abaixo e compare com o seu para ver as diferencás. Código: <?php session_start(); include_once("conexao.php"); //Verificar se está vindo a variável id pela URL if (isSet($_GET['id'])) { if (isSet($_COOKIE['voto_cont'])) { $_SESSION['msg'] = "<div class='alert alert-danger'>Você não pode mais inscrever-se!</div>"; header("Location: cursos.php"); } else { //Pesquisar se o produto está cadastrado no banco de dados $sql = "SELECT * FROM produtos WHERE id ='" . $_GET['id'] . "'"; if ($select_prod = mysql_fetch_assoc(mysql_query($sql))) { echo "Curso cadastrado"; } else { $_SESSION['msg'] = "<div class='alert alert-danger'>Curso não cadastrado em nossos sistema!</div>"; header("Location: cursos.php"); exit(); } } //Verificar se o produto já tem 20 votos if ($select_prod['qnt_voto'] <= 19) { setcookie('voto_cont', $_SERVER['REMOTE_ADDR'], time() + 10); $sql = "UPDATE produtos SET qnt_voto=qnt_voto + 1 WHERE id ='".$_GET['id']."'"; $update = mysql_query($sql); //Verificar se já existe email na tabela inscricoes $sql = "SELECT id FROM inscricoes WHERE email='". $_SESSION['email'] ."'"; if($select = mysql_fetch_assoc(mysql_query($sql))){ $_SESSION['msg'] = "<div class='alert alert-danger'>Este e-mail já está cadastrado!</div>"; header("Location: cursos.php"); exit(); } else { //Inserir na tabela incricoes nome do curso selecionado, nome e email do usuario logado // var_dump($dados); $sql = "INSERT INTO inscricoes (nome_curso, nome_usuario, email) VALUES ('".$_GET['id']."', '".$_SESSION['nome_usuario']."', '".$_SESSION['email']."')"; $exec_insert = mysql_query($sql); if (!$exec_insert) { $_SESSION['msg'] = "<div class='alert alert-success'>Inscrição efetuada com sucesso!</div>"; header("Location: cursos.php"); exit(); } else { $_SESSION['msg'] = "<div class='alert alert-danger'>Erro ao inscrever-se!</div>"; header("Location: cursos.php"); exit(); } } } else { $_SESSION['msg'] = "<div class='alert alert-danger'>Você não pode mais inscrever-se, Limite de 20 vagas do curso !</div>"; header("Location: cursos.php"); exit(); } } else { $_SESSION['msg'] = "<div class='alert alert-danger'>O Curso não foi selecionado!</div>"; header("Location: cursos.php"); exit(); } Se a minha resposta lhe foi útil não esqueça de avaliar o POST e de votar positivo. Espero ter ajudado de alguma forma. AttFelipe Guedes Coutinho Compartilhar este post Link para o post Compartilhar em outros sites