Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas com variavel


Andre H.S. Mendes

Pergunta

Olá

Antes de tudo quero parabenizar esse forum que é muito bom. muita gente disposta pra ajudar.!!!!!

bom meu problema é o seguinte. eu quero usar uma variavel, que está no mesmo programa de php porém quando eu chamo ela de novo aparece o erro que eu não defini ela antes.

$TransacaoID = $_POST['TransacaoID']; NESSE MOMENTO ELA PEGA O VALOR CORRETAMENTE

$resultado = mysql_query("SELECT * FROM TransacoesPagSeguro WHERE TransacaoID='$TransacaoID'");

Já nessa linha ela se torna inválida. porque?

PARTE DO COGIDO:

if ($confirma)
{
 // RECEBE OS DADOS ENVIADOS PELA PagSeguro E ARMAZENA EM VARIÁVEIS
 //Selecione aqui todos os parâmetros enviados pela PagSeguro
 $TransacaoID = $_POST['TransacaoID'];
 $Referencia = $_POST['Referencia'];
 $StatusTransacao = $_POST['StatusTransacao'];
 $CliNome = $_POST['CliNome'];
 $NumItens = $_POST['NumItens'];
 // Verifique se a TransacaoID não foi previamente processada
 // Verifique se o email recebido (VendedorEmail) é o seu email
 // Verifique se o valor do pagamento está correto
 // Processe o pagamento salvando os dados em seu banco de dados

 $SQL = "INSERT INTO TransacoesPagSeguro (" .
        "TransacaoID, " .
        "Referencia, " .
        "StatusTransacao, " .
        "CliNome, " .
        "NumItens" .
        ") VALUES (" .
        "" .
        "'" . $TransacaoID . "', " .
        "'" . $Referencia . "', " .
        "'" . $StatusTransacao . "', " .
        "'" . $CliNome . "', " .
        "'" . $NumItens . "'" .
        ")";
 $Executa = mysql_query($SQL) or print(mysql_error());
}
echo '<div class="span-5 last" id="head_dadoscompra">
</div>
<div class="span-5 last" id="corpo_dadoscompra">
';

$resultado = mysql_query("SELECT * FROM TransacoesPagSeguro WHERE TransacaoID='$TransacaoID'");
$linhas = mysql_num_rows($resultado);
for ($i=0; $i<$linhas; $i++)
    {
        $reg = mysql_fetch_row($resultado);
        echo 'Identificação da Transação: $reg[0] <br>';
        echo 'Referencia: $reg[1] <br>';
        echo 'Status Transacao: $reg[2] <br>';
        echo 'Nome do Cliente: $reg[3] <br>';
        echo 'Numero de Pacotes comprados: $reg[4] <br><br>';
    }

echo '</div>
<div class="span-5 last" id="foot_dadoscompra">
</div>
';

// FECHA A CONEXÃO
mysql_close($Conn);
include ( PATH . '/templates/' . $cookie_template . '/footer.php' );

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Olá tudo bom?

É o seguinte: quem é $confirma? Onde ela está setada? Antes desse if($confirma) coloque

var_dump($confirma)

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, o programa todo é esse aqui.

<?
include ( './config.php' );
include ( PATH . '/defaults.php' );

$title = $conf['website_name_short'] . ' - Dados da Compra';

include ( PATH . '/templates/' . $cookie_template . '/header.php' );

function tep_not_null($value) {
    if (is_array($value)) {
      if (sizeof($value) > 0) {
        return true;
      } else {
        return false;
      }
    } else {
      if (($value != '') && (strtolower($value) != 'null') && (strlen(trim($value)) > 0)) {
        return true;
      } else {
        return false;
      }
    }
  }

//DEFINE O LOGIN E SENHA PARA CONEXÃO COM O BANCO DE DADOS
$ConnLocal = "####";
$ConnLogin = "####";
$ConnSenha = "####";
$ConnDatabase = "#####";

// CONECTA-SE COM O BANCO DE DADOS MySQL
$Conn = mysql_connect($ConnLocal, $ConnLogin, $ConnSenha) or print ('Não foi possível conectar<br />' . mysql_error());
$db2 = mysql_select_db($ConnDatabase, $Conn) or print(mysql_error());

// RECEBE O POST ENVIADO PELA PagSeguro E ADICIONA OS VALORES PARA VALIDAÇÃO DOS DADOS
$PagSeguro = 'Comando=validar';
$PagSeguro .= '&Token=0123456789';
$Cabecalho = "";

foreach ($_POST as $key => $value)
{
 $value = urlencode(stripslashes($value));
 $PagSeguro .= "&$key=$value";
}

if (function_exists('curl_exec'))
{
 //Prefira utilizar a função CURL do PHP
 //Leia mais sobre CURL em: http://us3.php.net/curl
 $curl = true;
}
elseif ( (PHP_VERSION >= 4.3) && ($fp = @fsockopen ('ssl://pagseguro.uol.com.br', 443, $errno, $errstr, 30)) )
{
 $fsocket = true;
}
elseif ($fp = @fsockopen('pagseguro.uol.com.br', 80, $errno, $errstr, 30))
{
 $fsocket = true;
}

// ENVIA DE VOLTA PARA A PagSeguro OS DADOS PARA VALIDAÇÃO
if ($curl == true)
{
 $ch = curl_init();

 curl_setopt($ch, CURLOPT_URL, 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx');
 curl_setopt($ch, CURLOPT_POST, true);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $PagSeguro);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_HEADER, false);
 curl_setopt($ch, CURLOPT_TIMEOUT, 30);
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

 $resp = curl_exec($ch);
 if (!tep_not_null($resp))
 {
    curl_setopt($ch, CURLOPT_URL, 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx');
    $resp = curl_exec($ch);
 }

 curl_close($ch);
 $confirma = (strcmp ($resp, "VERIFICADO") == 0);
}
elseif ($fsocket == true)
{
 $Cabecalho  = "POST /Security/NPI/Default.aspx HTTP/1.0\r\n";
 $Cabecalho .= "Content-Type: application/x-www-form-urlencoded\r\n";
 $Cabecalho .= "Content-Length: " . strlen($PagSeguro) . "\r\n\r\n";

 if ($fp || $errno>0)
 {
    fputs ($fp, $Cabecalho . $PagSeguro);
    $confirma = false;
    $resp = '';
    while (!feof($fp))
    {
       $res = @fgets ($fp, 1024);
       $resp .= $res;
       // Verifica se o status da transação está VERIFICADO
       if (strcmp ($res, "VERIFICADO") == 0)
       {
          $confirma=true;
          break;
       }
    }
    fclose ($fp);
 }
 else
 {
    echo "$errstr ($errno)<br />\n";
    // ERRO HTTP
 }
}


if ($confirma)
{
 // RECEBE OS DADOS ENVIADOS PELA PagSeguro E ARMAZENA EM VARIÁVEIS
 //Selecione aqui todos os parâmetros enviados pela PagSeguro
 $TransacaoID = $_POST['TransacaoID'];
 $Referencia = $_POST['Referencia'];
 $StatusTransacao = $_POST['StatusTransacao'];
 $CliNome = $_POST['CliNome'];
 $NumItens = $_POST['NumItens'];
 // Verifique se a TransacaoID não foi previamente processada
 // Verifique se o email recebido (VendedorEmail) é o seu email
 // Verifique se o valor do pagamento está correto
 // Processe o pagamento salvando os dados em seu banco de dados

 $SQL = "INSERT INTO TransacoesPagSeguro (" .
        "TransacaoID, " .
        "Referencia, " .
        "StatusTransacao, " .
        "CliNome, " .
        "NumItens" .
        ") VALUES (" .
        "" .
        "'" . $TransacaoID . "', " .
        "'" . $Referencia . "', " .
        "'" . $StatusTransacao . "', " .
        "'" . $CliNome . "', " .
        "'" . $NumItens . "'" .
        ")";
 $Executa = mysql_query($SQL) or print(mysql_error());
}
echo '<div class="span-5 last" id="head_dadoscompra">
</div>
<div class="span-5 last" id="corpo_dadoscompra">
';
$resultado = mysql_query("SELECT * FROM TransacoesPagSeguro WHERE TransacaoID='$TransacaoID'");
$linhas = mysql_num_rows($resultado);
for ($i=0; $i<$linhas; $i++)
    {
        $reg = mysql_fetch_row($resultado);
        echo 'Identificação da Transação: $reg[0] <br>';
        echo 'Referencia: $reg[1] <br>';
        echo 'Status Transacao: $reg[2] <br>';
        echo 'Nome do Cliente: $reg[3] <br>';
        echo 'Numero de Pacotes comprados: $reg[4] <br><br>';
    }

echo '</div>
<div class="span-5 last" id="foot_dadoscompra">
</div>
';

// FECHA A CONEXÃO
mysql_close($Conn);
include ( PATH . '/templates/' . $cookie_template . '/footer.php' );
?>

Editado por Andre H.S. Mendes
Link para o comentário
Compartilhar em outros sites

  • 0

estou tentando usar a mema variavel, mas ela aparece como indefinida quando vou usar.

dentro do If ela funciona depois eu tento usar ela e não consigo.

if ($confirma)

{

// RECEBE OS DADOS ENVIADOS PELA PagSeguro E ARMAZENA EM VARIÁVEIS

//Selecione aqui todos os parâmetros enviados pela PagSeguro

$TransacaoID = $_POST['TransacaoID'];

}

se eu for usar ela aki de novo eu não consigo.

Link para o comentário
Compartilhar em outros sites

  • 0

Var executando var_dump($confirma) e verificando quais valores ela possui durante o código.

Link para o comentário
Compartilhar em outros sites

  • 0
Olá, o programa todo é esse aqui.

<?

include ( './config.php' );

include ( PATH . '/defaults.php' );

$title = $conf['website_name_short'] . ' - Dados da Compra';

include ( PATH . '/templates/' . $cookie_template . '/header.php' );

function tep_not_null($value) {

if (is_array($value)) {

if (sizeof($value) > 0) {

return true;

} else {

return false;

}

} else {

if (($value != '') && (strtolower($value) != 'null') && (strlen(trim($value)) > 0)) {

return true;

} else {

return false;

}

}

}

//DEFINE O LOGIN E SENHA PARA CONEXÃO COM O BANCO DE DADOS

$ConnLocal = "####";

$ConnLogin = "####";

$ConnSenha = "####";

$ConnDatabase = "#####";

// CONECTA-SE COM O BANCO DE DADOS MySQL

$Conn = mysql_connect($ConnLocal, $ConnLogin, $ConnSenha) or print ('Não foi possível conectar<br />' . mysql_error());

$db2 = mysql_select_db($ConnDatabase, $Conn) or print(mysql_error());

// RECEBE O POST ENVIADO PELA PagSeguro E ADICIONA OS VALORES PARA VALIDAÇÃO DOS DADOS

$PagSeguro = 'Comando=validar';

$PagSeguro .= '&Token=0123456789';

$Cabecalho = "";

foreach ($_POST as $key => $value)

{

$value = urlencode(stripslashes($value));

$PagSeguro .= "&$key=$value";

}

if (function_exists('curl_exec'))

{

//Prefira utilizar a função CURL do PHP

//Leia mais sobre CURL em: http://us3.php.net/curl

$curl = true;

}

elseif ( (PHP_VERSION >= 4.3) && ($fp = @fsockopen ('ssl://pagseguro.uol.com.br', 443, $errno, $errstr, 30)) )

{

$fsocket = true;

}

elseif ($fp = @fsockopen('pagseguro.uol.com.br', 80, $errno, $errstr, 30))

{

$fsocket = true;

}

// ENVIA DE VOLTA PARA A PagSeguro OS DADOS PARA VALIDAÇÃO

if ($curl == true)

{

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx');

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, $PagSeguro);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_HEADER, false);

curl_setopt($ch, CURLOPT_TIMEOUT, 30);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$resp = curl_exec($ch);

if (!tep_not_null($resp))

{

curl_setopt($ch, CURLOPT_URL, 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx');

$resp = curl_exec($ch);

}

curl_close($ch);

$confirma = (strcmp ($resp, "VERIFICADO") == 0);

}

elseif ($fsocket == true)

{

$Cabecalho = "POST /Security/NPI/Default.aspx HTTP/1.0\r\n";

$Cabecalho .= "Content-Type: application/x-www-form-urlencoded\r\n";

$Cabecalho .= "Content-Length: " . strlen($PagSeguro) . "\r\n\r\n";

if ($fp || $errno>0)

{

fputs ($fp, $Cabecalho . $PagSeguro);

$confirma = false;

$resp = '';

while (!feof($fp))

{

$res = @fgets ($fp, 1024);

$resp .= $res;

// Verifica se o status da transação está VERIFICADO

if (strcmp ($res, "VERIFICADO") == 0)

{

$confirma=true;

break;

}

}

fclose ($fp);

}

else

{

echo "$errstr ($errno)<br />\n";

// ERRO HTTP

}

}

if ($confirma)

{

// RECEBE OS DADOS ENVIADOS PELA PagSeguro E ARMAZENA EM VARIÁVEIS

//Selecione aqui todos os parâmetros enviados pela PagSeguro

$TransacaoID = $_POST['TransacaoID];

$Referencia = $_POST['Referencia'];

$StatusTransacao = $_POST['StatusTransacao'];

$CliNome = $_POST['CliNome'];

$NumItens = $_POST['NumItens'];

// Verifique se a TransacaoID não foi previamente processada

// Verifique se o email recebido (VendedorEmail) é o seu email

// Verifique se o valor do pagamento está correto

// Processe o pagamento salvando os dados em seu banco de dados

$SQL = "INSERT INTO TransacoesPagSeguro (" .

"TransacaoID, " .

"Referencia, " .

"StatusTransacao, " .

"CliNome, " .

"NumItens" .

") VALUES (" .

"" .

"'" . $TransacaoID . "', " .

"'" . $Referencia . "', " .

"'" . $StatusTransacao . "', " .

"'" . $CliNome . "', " .

"'" . $NumItens . "'" .

")";

$Executa = mysql_query($SQL) or print(mysql_error());

}

echo '<div class="span-5 last" id="head_dadoscompra">

</div>

<div class="span-5 last" id="corpo_dadoscompra">

';

$resultado = mysql_query("SELECT * FROM TransacoesPagSeguro WHERE TransacaoID='$TransacaoID'");

$linhas = mysql_num_rows($resultado);

for ($i=0; $i<$linhas; $i++)

{

$reg = mysql_fetch_row($resultado);

echo 'Identificação da Transação: $reg[0] <br>';

echo 'Referencia: $reg[1] <br>';

echo 'Status Transacao: $reg[2] <br>';

echo 'Nome do Cliente: $reg[3] <br>';

echo 'Numero de Pacotes comprados: $reg[4] <br><br>';

}

echo '</div>

<div class="span-5 last" id="foot_dadoscompra">

</div>

';

// FECHA A CONEXÃO

mysql_close($Conn);

include ( PATH . '/templates/' . $cookie_template . '/footer.php' );

?>

Marquei o início do if e o fim do if.

Editado por Wanderson Camargo
Link para o comentário
Compartilhar em outros sites

  • 0

Eu sei que não responde ¬¬

É para ajudar a identificação do if...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...