Ir para conteúdo

POWERED BY:

Arquivado

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

Angelino

[Resolvido] Erro Variável indefinida em carrinho de compras

Recommended Posts

Amigos boa noite, mim ajudem a descobrir esse erros de PHP

 

São estes os erros

Undefined variable: cost in /api-cart-top.php on line 34

Undefined variable: curr in /api-cart-top.php on line 34

Undefined variable: un in /api-cart-top.php on line 49

 

Este é os códigos do arquivo api-cart-top.php

Linha 34 <div class="top-subtotal"><?php echo $i; ?> Unid, <span class="price"><?php echo "$cost $curr[0]"; ?></span> </div>

Linha 49 <?php

$ddaa = mysql_query("SELECT pid, qty, rraate FROM carrrt WHERE code='".$un."' ORDER BY id");
    echo mysql_error();
    while ($data = mysql_fetch_array($ddaa))
    {
$ppp = mysql_fetch_array(mysql_query("SELECT name, img FROM products WHERE id='".$data[0]."'"));   
$ttl = $data[2]*$data[1];

$um = urlmod($ppp[0]);
$urrl = "$baseurl/product/$data[0]/$um";

?>

Deste já agradeço pela atenção

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essas variáveis não existem. Poste o código completo do arquivo "api-cart-top.php".

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 03/12/2017 at 22:48, Jesse&Francinete disse:

Essas variáveis não existem. Poste o código completo do arquivo "api-cart-top.php".

 

Oi amigo boa noite, ai está

 

<?php 
require_once('function.php');
connectdb();


$i = 0;
if(isset($_POST['unique'])) {
$un = mysql_real_escape_string($_POST["unique"]);

$pro = 0;

$cost = 0;
$ddaa = mysql_query("SELECT pid, qty, rraate FROM carrrt WHERE code='".$un."' ORDER BY id");
    echo mysql_error();
    while ($data = mysql_fetch_array($ddaa))
    {
$ttl = $data[2]*$data[1];
$cost = $cost+$ttl;
    

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esses erros acontecem pq as variáveis estão setadas dentro da validação if(isset()){}:

if(isset($_POST['unique'])){
	$un   = mysql_real_escape_string($_POST["unique"]);
	$cost = 0;
	$curr = mysql_fetch_array(mysql_query("SELECT currency FROM general_setting WHERE id='1'"));
}

Ou seja, elas só são definidas no seu código quando o POST unique estiver setado.

Pra "arrumar" isso, você poderia setar as variáveis antes do if(isset()) com algum valor padrão, exemplo:

$un   = "";
$cost = 0;
$curr = "";

if(isset($_POST['unique'])){
	$un   = mysql_real_escape_string($_POST["unique"]);
	$curr = mysql_fetch_array(mysql_query("SELECT currency FROM general_setting WHERE id='1'"));
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como o @BrunoMs disse, 

8 horas atrás, BrunoMs disse:

elas só são definidas no seu código quando o POST unique estiver setado.

 

Siga o que o mesmo disse.

Compartilhar este post


Link para o post
Compartilhar em outros sites
12 horas atrás, BrunoMs disse:

Esses erros acontecem pq as variáveis estão setadas dentro da validação if(isset()){}:


if(isset($_POST['unique'])){
	$un   = mysql_real_escape_string($_POST["unique"]);
	$cost = 0;
	$curr = mysql_fetch_array(mysql_query("SELECT currency FROM general_setting WHERE id='1'"));
}

Ou seja, elas só são definidas no seu código quando o POST unique estiver setado.

Pra "arrumar" isso, você poderia setar as variáveis antes do if(isset()) com algum valor padrão, exemplo:


$un   = "";
$cost = 0;
$curr = "";

if(isset($_POST['unique'])){
	$un   = mysql_real_escape_string($_POST["unique"]);
	$curr = mysql_fetch_array(mysql_query("SELECT currency FROM general_setting WHERE id='1'"));
}

 

 

Bruno Parabéns você é 10, ao inserir estes

$un   = "";
$cost = 0;
$curr = "";

Deu certo, mas apareceu outro erro abaixo

PHP Notice:  Uninitialized string offset: 0 in api-cart-top.php on line 37

 

Não sei se ta correto fiz assim deu certo

$i = 0;
$un   = "";
$cost = 0;
$curr = "0";

Não mostrou mais os erros

 

Obrigado os dois que mim ajudou nestes erros

Bruno e Jesse

 

RESOLVIDO

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Angelino é o mesmo conceito, isso aconteceu pq $curr[0] depende de:

if(isset($_POST['unique'])){

$curr = mysql_fetch_array(mysql_query("SELECT currency FROM general_setting WHERE id='1'"));

}

Ou seja, $curr[0] só é definido quando $_POST['unique'] for setado. Pra resolver isso você pode fazer algo assim:


$curr_test = "";

if(isset($_POST['unique'])){

$curr = mysql_fetch_array(mysql_query("SELECT currency FROM general_setting WHERE id='1'"));

$curr_test = $curr[0];

}

<div class="top-subtotal"><?php echo $i; ?> Unid, <span class="price"><?php echo "$cost $curr_test"; ?></span> </div>

Perceba que agora eu passo $curr[0] pra $curr_test dentro de isset() , e isso me permite definir $curr_test antes de isset() com qualquer valor padrão que eu quiser, aí na div eu troquei $curr[0] por $curr_test.

 

Que isso irmão, tamo junto, tamo aqui pra ajudar e aprender.

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, BrunoMs disse:

@Angelino é o mesmo conceito, isso aconteceu pq $curr[0] depende de:


if(isset($_POST['unique'])){

$curr = mysql_fetch_array(mysql_query("SELECT currency FROM general_setting WHERE id='1'"));

}

Ou seja, $curr[0] só é definido quando $_POST['unique'] for setado. Pra resolver isso você pode fazer algo assim:



$curr_test = "";

if(isset($_POST['unique'])){

$curr = mysql_fetch_array(mysql_query("SELECT currency FROM general_setting WHERE id='1'"));

$curr_test = $curr[0];

}

<div class="top-subtotal"><?php echo $i; ?> Unid, <span class="price"><?php echo "$cost $curr_test"; ?></span> </div>

Perceba que agora eu passo $curr[0] pra $curr_test dentro de isset() , e isso me permite definir $curr_test antes de isset() com qualquer valor padrão que eu quiser, aí na div eu troquei $curr[0] por $curr_test.

 

Que isso irmão, tamo junto, tamo aqui pra ajudar e aprender.

 

Opa assim deu certo :thumbsup:

RESOLVIDO

Obrigado Bruno

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 04/12/2017 at 19:20, BrunoMs disse:

@Angelino é o mesmo conceito, isso aconteceu pq $curr[0] depende de:


if(isset($_POST['unique'])){

$curr = mysql_fetch_array(mysql_query("SELECT currency FROM general_setting WHERE id='1'"));

}

Ou seja, $curr[0] só é definido quando $_POST['unique'] for setado. Pra resolver isso você pode fazer algo assim:



$curr_test = "";

if(isset($_POST['unique'])){

$curr = mysql_fetch_array(mysql_query("SELECT currency FROM general_setting WHERE id='1'"));

$curr_test = $curr[0];

}

<div class="top-subtotal"><?php echo $i; ?> Unid, <span class="price"><?php echo "$cost $curr_test"; ?></span> </div>

Perceba que agora eu passo $curr[0] pra $curr_test dentro de isset() , e isso me permite definir $curr_test antes de isset() com qualquer valor padrão que eu quiser, aí na div eu troquei $curr[0] por $curr_test.

 

Que isso irmão, tamo junto, tamo aqui pra ajudar e aprender.

 

Amigo mim desculpa eu ter colocado resolvido, é que apareceu mais 1 erro

 

Eu fiz outro post mas não tive resposta do post

 

O erro foram este

 

Undefined variable: iidd in /cart.php on line 89

 

Troguei o $iidd por este  $data[0] e deu certo OBRIGADO

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
    • Por violin101
      Caros amigos, saudações
       
      Por favor, me perdoa em recorrer a orientação dos amigos, tenho uma dúvida.
       
      Gostaria de uma rotina onde o Sistema possa acusar para o usuário antes dos 30 dias, grifar na Tabela o aviso de vencimento próximo, por exemplo:
       
      Data Atual: 15/11/2024
                                           Vencimento
      Fornecedor.....................Data.....................Valor
      Fornecedor_1...........01/12/2024..........R$ 120,00 <== grifar a linha de Laranja
      Fornecedor_1...........01/01/2025..........R$ 130,00
      Fornecedor_2...........15/12/2024..........R$ 200,00 <== grifar a linha de Amarelo
      Fornecedor_2...........15/01/2025..........R$ 230,00
      Fornecedor_3...........20/12/2024..........R$ 150,00
       
      Alguém tem alguma dica ou leitura sobre este assunto ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a ajuda dos amigos, mas preciso entender uma processo que não estou conseguindo sucesso.

      Como mencionado no Título estou escrevendo um Sistema Web para Gerenciamento de Empresa.
       
      Minha dúvida, que preciso muito entender:
      - preciso agora escrever a Rotina para Emissão de NFe e essa parte não estou conseguindo.
       
      tenho assistido alguns vídeos e leituras, mas não estou conseguindo sucesso, já fiz toda as importações das LIB da NFePhp conforme orientação.

      Preciso de ajuda.

      Algum dos amigos tem conhecimento de algum passo-a-passo explicando a criação dessa rotina ?

      tenho visto alguns vídeos com LARAVEL, mas quando tento utilizar e converter para PHP+Codeiginter, dá uma fila de erros que não entendo, mesmo informando as lib necessárias.

      Alguns do amigo tem algum vídeo, leitura explicando essa parte ?

      Grato,

      Cesar.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.