Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Não consigo acessar o Adiciona Produto

Index.php

<?php include("cabecalho.php"); include("logica-usuario.php") ?>

<?php if (isset($_GET["login"]) && $_GET["login"] == 1) : ?> 
    <p class="alert-success">Logado com sucesso!</p>
<?php endif ?>

<?php if (isset($_GET["login"]) && $_GET["login"] == 0) : ?>
    <p class="alert-danger">Usuario ou Senha inválida!</p>
<?php endif ?>

<?php if(isset($_GET["falhaDeSeguranca"]) && $_GET["falhaDeSeguranca"] == true ) : ?>
      <p class="alert-danger">Você não tem acesso a esta funcionalidade!</p>
<?php endif ?>

    <h1>Bem vindo!</h1>

    <?php
        if(usuarioEstaLogado()) :
    ?>
        <p class="text-success">Você está logado como <?= usuarioLogado() ?></p>
    <?php
        else :
    ?>

    <h2>Login</h2>
    <form action="login.php" method="post">
        <table class="table">
            <tr>
                <td>Email</td>
                <td><input class="form-control" type="email" name="email"></td>
            </tr>
            <tr>
                <td>Senha</td>
                <td><input class="form-control" type="password" name="senha"></td>
            </tr>
            <tr>
                <td><button class="btn btn-primary">Login</button></td>
            </tr>
        </table>
    </form>

<?php
    endif;
    include("rodape.php");
?>

produto-formulario.php

<?php 
include("cabecalho.php"); 
include("conecta.php");
include("banco-categoria.php");
include("logica-usuario.php");

verificaUsuario();

$categorias = listaCategorias($conexao);
?>            
    <h1>Formulário de produto</h1>
    <form action="adiciona-produto.php" method="post">
        <table class="table">
            <tr>
                <td>Nome</td>
                <td> <input class="form-control" type="text" name="nome"></td>
            </tr>
            <tr>
                <td>Preço</td>
                <td><input  class="form-control" type="number" name="preco"></td>
            </tr>
            <tr>
                <td>Descrição</td>
                <td><textarea class="form-control" name="descricao"></textarea></td>
            </tr>
            <tr>
                <td></td>
                <td><input type="checkbox" name="usado" value="true"> Usado
            </tr>
            <tr>
                <td>Categoria</td>
                <td>
                    <select name="categoria_id" class="form-control">
                    <?php foreach($categorias as $categoria) : ?>
                        <option value="<?=$categoria['id']?>">
                                <?=$categoria['nome']?>
                        </option>
                    <?php endforeach ?>
                    </select>
                </td>
            </tr>
            <tr>
                <td>
                    <button class="btn btn-primary" type="submit">Cadastrar</button>
                </td>
            </tr>
        </table>
    </form>
<?php include("rodape.php"); ?>

adiciona-produto.php

<?php 
include("cabecalho.php");         
include("conecta.php");            
include("banco-produto.php"); 
include("logica-usuario.php");

verificaUsuario();

$nome = $_POST['nome'];
$preco = $_POST['preco'];
$descricao = $_POST['descricao'];
$categoria_id = $_POST['categoria_id'];
if(array_key_exists('usado', $_POST)) {
    $usado = "true";
} else {
    $usado = "false";
}

if(insereProduto($conexao, $nome, $preco, $descricao, $categoria_id, $usado)) { ?>
    <p class="text-success">O produto <?= $nome ?>, <?= $preco ?> foi adicionado.</p>
<?php } else {
    $msg = mysqli_error($conexao);
?>
    <p class="text-danger">O produto <?= $nome ?> não foi adicionado: <?= $msg?></p>
<?php
}
?>

<?php include("rodape.php"); ?>

logica-usuario.php

<?php
    session_start();
    function usuarioEstaLogado(){
        return isset($_SESSION["usuario_logado"]);
    }
    function verificaUsuario(){
        if(!usuarioEstaLogado()) {
              Header("Location: index.php?falhaDeSeguranca=true");
              die();
        }
    }
    function usuarioLogado(){
        return $_SESSION["usuario_logado"];
    }
    function logaUsuario(){
        $_SESSION["usuario_logado"] = $email;
    }
?>
4 respostas

Oi Thiago, o que acontece quando você tenta acessar?

Aparece a mensagem "Você não tem acesso a esta funcionalidade!" na pagina inicial, mesmo tendo uma conta logada

solução!

Já deu certo, acredito que era por causa que troquei de posição a função logaUsuario com a header no arquivo login.php, dessa forma deu certo: <?php

if ($usuario == null) { ... } else { logaUsuario($usuario["email"]); header("Location: index.php?login=1"); } die(); ?>

Boa Thiago! Desculpa a demora, felizmente você conseguiu resolver né? Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software