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

Erro ao adicionar produtos - Apenas na hospedagem

Estou com o seguinte erro, no xampp tudo funciona perfeitamente, mas quando coloco na hospedagem Hostagator ou Hostinger não funciona "adicionar produto". Segue codigos.

ERRO: Parse error: syntax error, unexpected '=' in /home/u924356202/public_html/loja/adiciona-produto.php on line 19

//Codigo adiciona produtos

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


$nome = $_POST['nome'];
$preco = $_POST['preco'];
$descricao = $_POST['descricao'];
$categoria_id = $_POST['categoria_id'];


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


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

//Funções para produtos
function insereProduto($conexao, $nome, $preco, $descricao, $categoria_id) {
    $query = "insert into produtos (nome, preco, descricao, categoria_id) values ('{$nome}', {$preco}, '{$descricao}', {$categoria_id})";  $resultadoInsercao = mysqli_query($conexao, $query);
    return $resultadoInsercao;
}



function listaProdutos($conexao) {
    $produtos = array();
    $resultado = mysqli_query($conexao, "select p.*, c.nome as categoria_nome from produtos as p join categorias as c on p.categoria_id = c.id");

    while($produto = mysqli_fetch_assoc($resultado)) {
        array_push($produtos, $produto);
    }

    return $produtos;

}

function removeProduto($conexao, $id) {
    $query = "delete from produtos where id = {$id}";
    return mysqli_query($conexao, $query);
}



//Funções para clientes

function insereCliente($conexao, $nome, $endereco, $cpf, $telefone) {
    $query = "insert into clientes (nome, endereco, cpf, telefone) values ('{$nome}', '{$endereco}', {$cpf}, {$telefone})";  $resultadoInsercao = mysqli_query($conexao, $query);
    return $resultadoInsercao;
}

function listaClientes($conexao) {
    $clientes = array();
    $resultado = mysqli_query($conexao, "select * from clientes");

    while($cliente = mysqli_fetch_assoc($resultado)) {
        array_push($clientes, $cliente);
    }

    return $clientes;

}

function removeCliente($conexao, $id) {
    $query = "delete from clientes where id = {$id}";
    return mysqli_query($conexao, $query);
}

?>
4 respostas
solução!

Jeferson,

Substitui o

<? = $nome; ?>

por:

<?= $nome; ?>

Retira o espaço entre o sinal de igual e a interrogação e testa.

boa tarde, acho que faltou alguma coisa para vc coloca olha o meu, e manda aqui o cogido do conecta.php, para da uma olhada caso o codigo que mandei a vc nao pegue.

adiciona-produto.php

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

$nome = $_POST['nome'];
$preco = $_POST['preco'];
$descricao = $_POST['descricao'];
$categoria_id = $_POST['categoria_id'];

verificaUsuario();

if(array_key_exists('usado', $_POST)) {
    $usado = "true";
}else{
    $usado = "false";
}

if(insereProduto($conexao, $nome, $preco, $descricao, $categoria_id, $usado)){ ?>
    <p class="text-success">Produto <?php echo $nome; ?>, <?php echo $preco; ?> adicionado com sucesso!</p>
<?php }else{ 
    $msg = mysqli_error($conexao);
?>
<p class="text-danger">O produto <?php echo $nome; ?>, <?php echo $preco; ?> nao foi adicionado: <?= $msg?></p>
<?php    
}
mysqli_close($conexao);    
?>

<?php include("rodabe.php") ?>
<?php
function listaProdutos($conexao) {
    $produtos = array();
    $resultado = mysqli_query($conexao, "select p.*,c.nome as categoria_nome from produtos as p join categorias as c on c.id=p.categoria_id");
    while($produto = mysqli_fetch_assoc($resultado)) {
        array_push($produtos, $produto);
    }
    return $produtos;
}

function insereProduto($conexao, $nome, $preco, $descricao, $categoria_id, $usado) {
    $query     = "insert into produtos (nome, preco, descricao, categoria_id, usado) values ('{$nome}', {$preco}, '{$descricao}', {$categoria_id}, {$usado})";
    return mysqli_query($conexao, $query);
}

function alteraProduto($conexao, $id, $nome, $preco, $descricao, $categoria_id, $usado) {
    $query = "update produtos set nome = '{$nome}', preco = {$preco}, descricao = '{$descricao}', categoria_id= {$categoria_id}, usado = {$usado} where id = '{$id}'";
    return mysqli_query($conexao, $query);
}

function buscaProduto($conexao, $id) {
    $query = "select * from produtos where id = {$id}";
    $resultado = mysqli_query($conexao, $query);
    return mysqli_fetch_assoc($resultado);
}

function removeProduto($conexao, $id){
    $query = "delete from produtos where id = {$id}";
    return mysqli_query($conexao, $query);
}

?>

Exatamente o espaço Manoel, <?= $nome; ?>.

Ta funcionando agora, obrigado!

Por nada, Jeferson!

Bons estudos!

Abraço.