Ir para conteúdo

POWERED BY:

Arquivado

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

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

 

Compartilhar este post


Link para o post
Compartilhar em outros 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

 

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.