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

Não consigo logar no meu app

Gente, eu tô a dias para recomeçar o curso de php Orientado a Objeto, mas não consigo porque eu não consigo consertar os bugs do código, não aparece erro nenhum no terminal do navegador nem do Linux. Os problemas são:

1- Eu não consigo logar por nada nessa vida, e sim o usuário e a senha estão no banco de dados.

** Os arquivos relevantes para o login são: login, banco-usuario e logica-usuario

2- Quando eu consigo logar eu não consigo adicionar item nenhum na lista, não passa pelo if, vai direto para o else

// Arquivo adiciona-produto.php

if(insereProduto($conexao, $produto)) { ?>
    <form action="produto-formulario.php">

        <p class="text-success"> O produto <?php echo $produto->nome?>, R$<?php echo $produto->preco?> adicionado com sucesso! </p>
        <button class="btn" type="submit">Voltar</button>

    </form>

<?php
 } else { 

     $msg = mysqli_error($conexao);

     ?>
    <form action="produto-formulario.php">

        <p class="text-danger"> O produto <?php echo $produto->nome?>, R$<?php echo $produto->preco?> não foi adicionado </p>
        <button class="btn" type="submit">Voltar</button>

    </form>

    <?php 
}

3- A lista de produtos simplesmente não tá aparecendo, e eu tenho produtos adicionados manualmente no banco de dados pelas queries.

** Os arquivos relevantes para listar os produtos são: banco-produto e produto-lista

O código completo tá no meu repositório do github: https://github.com/analubarreto/loja_php_Alura. Os problemas que eu não coloquei o código em baixo é porque eu realmente não tenho ideia de em que parte do código o problema pode estar e é muito longo para eu postar o código todo aqui.

2 respostas
solução!

Olá, Ana.

Na parte de login, em nenhum lugar (além de logout) você está iniciando a sessão com session_start(). Para definir dados na sessão, esse código é necessário.

Você pode colocar ele no início de cada função do logica-usuario.php por enquanto, e depois melhorar esse código.

Já na parte do acesso ao banco, chama a função mysqli_error pra ver o que aconteceu. Com a mensagem de erro, você já terá um norte.

http://php.net/manual/pt_BR/mysqli.error.php

Aguardo um retorno seu. Abraços e bons estudos.

Resolvi, Vinícius, muito obrigada!

1- A parte do login era o que você tinha dito mesmo.

2- A parte da lista eu formatei o PC e quando criei o bd de novo tinha esquecido de adicionar alguns parâmetros na tabela.

3- E a lista de produtos eu tinha esquecido de mudar em uma linha de:

<?=$produto['id']?>

para:

<?=$produto->id?>