Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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>
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;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'"));
}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.
>
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@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.>
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
RESOLVIDO
Obrigado Bruno>
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
Essas variáveis não existem. Poste o código completo do arquivo "api-cart-top.php".