3
respostas

adiciona produto nao esta funcinando

Este é o erro que aparece apos eu inserir o produto.

A página de localhost não está funcionando

localhost não consegue atender a esta solicitação no momento. HTTP ERROR 500

Este é meu codigo da pagina produtos.

<?php
include("cabecalho.php");

$nome = $_GET["nome"];
$preco = $_GET["preco"];

$query = "insert into produtos (nome, preco) values ('{$nome}', {$preco})";
$conexao = mysqli_connect('localhost', 'root', '', 'loja');

if(mysqli_query($conexao, $query)) {
?>
<p class="alert-success">Produto <?= $nome; ?>, <?= $preco; ?> adicionado com sucesso!</p>
<?php
} else {
?>
<p class="alert-danger">O produto <? = $nome; ?> não foi adicionado</p>
<?php
}

?>

Eu estou usando o mamp

3 respostas

Flavio, boa noite!

Cara, eu também uso o mac, mas não gosto do mamp.

Na verdade eu uso o apache e php que já fazem parte do sistema operacional, mas grande parte dos usuários não sabem disso.

Enfim, primeiro o erro 500 ocorre quando qualquer erro acontece, mas o debug está desativado no apache.

Neste caso, consulte os arquivos de erros do apache, lá estará detalhado o que ocorreu.

Caso não saiba como verificar isso no seu apache, você pode adicionar o trecho de código abaixo, no início do seu documento PHP onde ocorre o problema.

error_reporting(E_ALL); // habilita todos os erros
ini_set("display_errors", true); // mostra todos os erros
ini_set("log_errors", true); // indica que os erros podem ser salvos em arquivos
ini_set("error_log", "php-log-erro.log"); // caminho relativo ou absoluto de onde salvar o erro

Com isso os erros devem aparecer na tela, se não aparecerem por causa das configurações do apache, eles serão registrados no arquivo de log informado acima.

Analisando o seu código, acho que sei onde está o problema, no trecho:

O produto <? = $nome; ?> não foi adicionado

Existe um espaço antes do sinal de igual da shorttag.

Cara, não use desta forma, primeiro por que não é o padrão e muitos servidores não suportam utilizar desta forma.

Use o bom e velho echo, isso reduz muitos problemas.

Outra coisa que pode ver, é a forma de montar sua query, verifique se não existe um caracter inválido que está sendo passado nas variáveis, isso pode causar um erro ao executar o comando no banco.

As vezes ocorreu o erro porque voce esqueceu de colocar as aspas simples na query do preço.

$query = "insert into produtos (nome, preco) values ('{$nome}', {$preco})";

Jeito Certo:

$query = "insert into produtos (nome, preco) values ('{$nome}', '{$preco}')";

pessoal aguem pode me ajudar !! nao consigo abrir o phpmyadmin Erro Mensagens do MySQL : Documentação

1045 - Access denied for user 'root'@'localhost' (using password: NO)

mysqli_real_connect(): (HY000/1045): Access denied for user 'pma'@'localhost' (using password: NO) A ligação como utilizador de controlo definida na sua configuração falhou. mysqli_real_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: NO) O phpMyAdmin tentou ligar-se ao servidor MySQL, e o servidor rejeitou a ligação. Verifique o anfitrião, nome de utilizador e palavra-passe no config.inc.php e assegure-se que correspondem à informação fornecida pelo administrador do MySQL.

esses são os erros que esta dando