Ir para conteúdo

POWERED BY:

Arquivado

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

Thiago Moraes

[Resolvido] Fatal error: Unsupported operand types in...

Recommended Posts

Estou tentando alterar a exibição dos preços em uma loja e esta dando esse erro. Agradeço se alguém puder me indicar aonde estou errando.

 

Segue o trecho do código onde o erro é encontrado:

 

<?php $vista = $base_price *= (100 - 7)/100; ?>
<?php $vista = number_format ($vista, 2, ',', '.'); ?>
<?php echo "<span class='productPrice'><strong>R$ $vista</strong></span> A vista"; ?>
<br />
<?php $parcela = $base_price/6; ?>
<?php $parcela = number_format($parcela, 2, ',', '.'); ?>
<?php if ($parcela >= 50.00) { ?>
<?php echo "Ou 6x sem juros de <b>R$ $parcela</b>"; ?>
   <?php 
} 
?>

 

O erro aparece na primeira linha, mas postei todo o código que eu fiz pra ver se tem mais algum erro.

 

Agradeço a atenção.

 

Desde ontem pesquisando na internet sobre esse erro e nada...Se algum master em php puder me dizer se pelo menos o código está correto ou não ja seria de grande ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A variavel $base_price é a que contém o valor total do produto. Se puder me dar uma dica de como separar as operações, não tenho nem idéia. Esse erro não é constante, de cada 5 vezes que eu atualizo a a pagina umas 2 vezes da esse erro e a pagina fica toda desconfigurada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou tentando alterar a exibição dos preços em uma loja e esta dando esse erro. Agradeço se alguém puder me indicar aonde estou errando.

 

Segue o trecho do código onde o erro é encontrado:

 

<?php $vista = $base_price *= (100 - 7)/100; ?>
<?php $vista = number_format ($vista, 2, ',', '.'); ?>
<?php echo "<span class='productPrice'><strong>R$ $vista</strong></span> A vista"; ?>
<br />
<?php $parcela = $base_price/6; ?>
<?php $parcela = number_format($parcela, 2, ',', '.'); ?>
<?php if ($parcela >= 50.00) { ?>
<?php echo "Ou 6x sem juros de <b>R$ $parcela</b>"; ?>
   <?php 
} 
?>

 

 

 

O erro aparece na primeira linha, mas postei todo o código que eu fiz pra ver se tem mais algum erro.

 

Agradeço a atenção.

<?php
$vista = $base_price * ($base_price*((100-7)/100));

 $vista = number_format ($vista, 2, ',', '.');
echo "<span class='productPrice'><strong>R$ $vista</strong></span> A vista"; ?>
<br />
<?php $parcela = $base_price/6; 
$parcela = number_format($parcela, 2, ',', '.'); 
 if ($parcela >= 50.00) {
 echo "Ou 6x sem juros de <b>R$ $parcela</b>"; 

} 
?>

eu elimiei algumas tags do pgp desnecessarias para evitar consumo excessivo de memoria, quando se tem muitas instrucoes seguidas no php, use-as numa unica tag, como eu fiz...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usando o código que você postou ainda continua o erro, mas agora o calculo da porcentagem esta errada.

 

Fiz um teste no servidor e aparentemente está normal...só da esse erro no localhost.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só separe em 2 linhas:

$base_price *= (100 - 7)/100;

$vista = $base_price;

 

Se está 'calculando errado', verifique essa operação aí...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Henrique, da forma que eu tinha feito o calculo da porcentagem estava certinho, só quando testei a solução do igor que o valor não bateu.

 

O erro que mencionei no título do tópico só ocorre em localhost, mesmo fazendo as alterações que vcs indicaram, então acho que é problema do servidor local.

 

O código final ficou assim:

 

<?php 
$parcela = $base_price/6;
$parcela = number_format($parcela, 2, ',', '.');
$vista = $base_price *= (100 - 7)/100;
$vista = number_format ($vista, 2, ',', '.'); 
?>
<br />
<?php echo "<span style='color:#0066CC;'><strong>R$ <span class='productPrice'>$vista</span></strong> A vista</span>";?> 
<br />
<?php if ($parcela >= 50.00) { 
 echo "Ou <strong>6x</strong> sem juros de <strong>R$ $parcela</strong>"; 
} 
?>

 

Muito obrigado pelas dicas!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra "resolver" o tópico realmente...

 

O erro não era nem do código, nem do servidor...em alguns casos (produtos) o valor da variável $base_price não era numérico. Coloquei uma condicional e esta tudo certo :grin:

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.