Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, estou com um erro chato aqui, que ja tentei de tudo e não para o erro é o seguinte:
Notice: Undefined variable: form in C:\wamp\www\!PROJETO-QUERO-SHOP\carrinho.php on line 89
Meu código é esse aqui:
<?php
$i = 1;
if(!isset($_SESSION))
{
session_start();
}
if(!isset($_SESSION['carrinho'])){
$_SESSION['carrinho'] = array();
}
if(count($_SESSION['carrinho']) == 0){
'Carrinho vazio.';
}else{
require("conexao.php");
$peso = 0;
$total = 0;
foreach($_SESSION['carrinho'] as $id => $qtd){
$sql = "SELECT * FROM produtos WHERE id= '$id'";
$qr = mysql_query($sql) or die(mysql_error());
$ln = mysql_fetch_assoc($qr);
$nome = $ln['nome'];
$preco = number_format($ln['preco'], 2, ',', '.');
$sub = number_format($ln['preco'] * $qtd, 2, ',', '.');
$opreco = $ln['preco'];
$total += $ln['preco'] * $qtd;
$peso = $ln['peso'];
$frete = 0;
$aid = $ln['id'];
$form .= '
<input type="hidden" name="item_id_' . $i . '" value="'.$aid.'">
<input type="hidden" name="item_descr_' . $i . '" value="'.$nome.'">
<input type="hidden" name="item_quant_' . $i . '" value="'.$qtd.'">
<input type="hidden" name="item_valor_' . $i . '" value="'.$opreco.'">
<input type="hidden" name="item_frete_' . $i . '" value="'.$frete.'">
<input type="hidden" name="item_peso_' . $i . '" value="'.$peso.'">';
$i++;
}
$total = number_format($total, 2, ',', '.');
}
?>
A linha 89 é essa aqui:
<input type="hidden" name="item_peso_' . $i . '" value="'.$peso.'">';
Só que se eu tirar essa linha do $peso o erro passa pra linha de cima, não sei oque fazer.
Cara muito obrigado, funcionou beleza, só que quando o carrinho está vazio da um erro na linha 194:
Notice: Undefined variable: form in C:\wamp\www\!PROJETO-QUERO-SHOP\carrinho.php on line 194
essa linha é onde eu estou puxando a variável $form:
<!-- Aqui são os dados do produto-->
<?php echo $form; ?>
<form target="pagseguro" method="post"
action="https://pagseguro.uol.com.br/checkout/checkout.jhtml">
<input type="hidden" name="email_cobranca" value="suporte@lojateste.com">
<input type="hidden" name="tipo" value="CP">
<input type="hidden" name="moeda" value="BRL">
<!-- Aqui são os dados do produto-->
<?php echo $form; ?>
<!-- Tipo de frete, por padrão "EN" -->
<input type="hidden" name="tipo_frete" value="">
<!-- INÍCIO DOS DADOS DO USUÁRIO -->
<input type="hidden" name="cliente_nome"
value="<?php echo $Nome; ?>">
<input type="hidden" name="cliente_cep" value="<?php echo $cep; ?>">value="<?php echo $rua; ?>">
<input type="hidden" name="cliente_num" value="<?php echo $numero; ?>">
<input type="hidden" name="cliente_compl" value="<?php echo $complemento; ?>">value="<?php echo $bairro; ?>">value="<?php echo $cidade; ?>">
<input type="hidden" name="cliente_uf" value="<?php echo $uf; ?>">
<input type="hidden" name="cliente_pais" value="BRA">
<input type="hidden" name="cliente_ddd" value="<?php echo $ddd; ?>">
<input type="hidden" name="cliente_tel" value="<?php echo $tel; ?>">value="<?php echo $email; ?>"><input type="image" src="https://p.simg.uol.com.br/out/pagseguro/i/botoes/pagamentos/99x61-pagar-assina.gif" name="submit"
alt="Pague com PagSeguro - é rápido, grátis e seguro!">
</form>
mesmo erro de novo.
você entendeu oque eu disse ?
você está cometendo exatamente o mesmo erro novamente.
Pensa no fluxo, por favor. Isso é programação básica.
Se o carrinho tá vazio, então essa variavel não foi criada.
se não foi criada, então pq você tenta usar ela ? (por isso deu erro)
>
mesmo erro de novo.
você entendeu oque eu disse ?
você está cometendo exatamente o mesmo erro novamente.
Pensa no fluxo, por favor. Isso é programação básica.
Se o carrinho tá vazio, então essa variavel não foi criada.
se não foi criada, então pq você tenta usar ela ? (por isso deu erro)
William eu declarei ela lá em cima, até então o outro erro foi resolvido, se eu declarar ela novamente no
<?php echo $form; ?>
No pagseguro fala que o carrinho está vazio.
não amigo, você não entendeu.
aqui:
<?php echo $form; ?>
você está **usando a variavel**
okay ?
se você precisa q ela exista para poder usa-la:
<?php if( isset( $form ) ) echo $form; ?>
percebeu o conceito agora ? testo se existe, e só se existir que faço o echo.
captou ?
A sim, desculpas, com o tempo a gente aprende :D
obrigado, funcionou!
você tá usando uma variavel q não existe.
declare ela. Erro conceitual de programação.
$form = '';//iniciando a variavel
foreach($_SESSION['carrinho'] as $id => $qtd){