Jump to content
jxcostas

Perdido nos IF

Recommended Posts

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");
            }
        }
    } 

 

Share this post


Link to post
Share on other sites

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.

 

Att
Felipe Guedes Coutinho

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.