Jump to content
Fórum Script Brasil
  • 0

Parse error: syntax error, unexpected '<' in [...]


Nyke

Question

Olá pessoal, estou terminando meu sistema de pagseguro automático pra meu servidor, porém está dando um erro em um dos arquivos, o erro é o seguinte:

Parse error: syntax error, unexpected '<' in C:\xampp\htdocs\retpagseguro.php on line 24

Este é o código:

<?php
#CONFIGURAÇÕES##
$retorno_site = '/?subtopic=latestnews';  // Site para onde o usuário vai ser redirecionado
$retorno_host = 'localhost'; // Local da base de dados MySql
$retorno_database = 'otserv'; // Nome da base de dados MySql
$retorno_usuario = 'root'; // Usuario com acesso a base de dados MySql
$retorno_senha = '';  // Senha de acesso a base de dados MySql
################################################################              NÃO ALTERE DESTA LINHA PARA BAIXO################################################################
$lnk = mysql_connect($retorno_host, $retorno_usuario, $retorno_senha) or die ('não foi possível conectar ao MySql: ' . mysql_error());
mysql_select_db($retorno_database, $lnk) or die ('não foi possível ao banco de dados selecionado no MySql: ' . mysql_error());
require_once("retorno.php");
function retorno_automatico ($VendedorEmail, $TransacaoID, $Referencia, $TipoFrete,$ValorFrete, $Anotacao, $DataTransacao, $TipoPagamento,$StatusTransacao, $CliNome, $CliEmail, $CliEndereco,$CliNumero, $CliComplemento, $CliBairro, $CliCidade,$CliEstado, $CliCEP, $CliTelefone, $produtos, $NumItens) // Gravando DadosP 
{   
$quantidade = $produtos[0]['ProdQuantidade'];
mysql_query("INSERT into PagSeguroTransacoes SET    TransacaoID='$TransacaoID',    VendedorEmail='$VendedorEmail',    Referencia='$Referencia',      TipoFrete='$TipoFrete',    ValorFrete='$ValorFrete',      Extras='$Extras',      Anotacao='$Anotacao',      TipoPagamento='$TipoPagamento',    StatusTransacao='$StatusTransacao',    CliNome='$CliNome',    CliEmail='$CliEmail',      CliEndereco='$CliEndereco',    CliNumero='$CliNumero',    CliComplemento='$CliComplemento',      CliBairro='$CliBairro',    CliCidade='$CliCidade',    CliEstado='$CliEstado',    CliCEP='$CliCEP',      CliTelefone='$CliTelefone',    NumItens='$NumItens',      ProdQuantidade='$quantidade',    Data=now();");  
if ($StatusTransacao == 'Completo' OR $StatusTransacao == 'Aprovado')  
{
$query = "SELECT premium_points FROM accounts WHERE accounts.name = '$Referencia'";
$result = mysql_query($query);
$prem = mysql_fetch_array($result);$points = $prem['premium_points'] + $quantidade;  // 
$points = mysql_query($prem);
$qry2 = "UPDATE accounts SET premium_points = '$points' WHERE accounts.name = '$Referencia'";  
$result2 = mysql_query($qry2); }
} <script type="text/javascript">window.location = '/?subtopic=latestnews';</script> ?>

Poderiam me ajudar?

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Amigo, agora aparece o seguinte:

Parse error: syntax error, unexpected ',' in C:\xampp\htdocs\retorno.php on line 11

Perdão pela 'enxeção' de saco, é porque necessito muito usar este sistema, e ele tinha vindo encriptado, quando eu o desencriptei, as quebras estavam todas erradas, por isso to tentando o arrumar...

@EDIT

Vi que na linha 11, ele direciona ao retorno.php, então, segue o mesmo:

<?php
if (!defined('TOKEN')) define ('TOKEN', '7DF14A366DB74B5586C23EDA6791B102');/*** RetornoPagSeguro** Classe de manipulação para o retorno do post do pagseguro** @package PagSeguro*/
class RetornoPagSeguro {/*** _preparaDados** Prepara os dados vindos do post e converte-os para url, adicionando* o token do usuario quando necessario.** @internal é usado pela {@see RetornoPAgSeguro::verifica} para gerar os,* dados que serão enviados pelo PagSeguro** @access private** @param array $post Array contendo os posts do pagseguro* @param bool $confirmacao Controlando a adicao do token no post* @return string*/
function _preparaDados($post, $confirmacao=true) 
{if ('array' !== gettype($post)) $post=array();
if ($confirmacao) {$post['Comando'] = 'validar';$post['Token'] = TOKEN;}$retorno=array();
foreach ($post as $key=>$value){if('string'!==gettype($value)) $post[$key]='';$value=urlencode(stripslashes($value));$retorno[]="{$key}={$value}";}
return implode('&', $retorno);}/*** _tipoEnvio** Checa qual será a conexao de acordo com a versao do PHP* preferencialmente em CURL ou via socket** em CURL o retorno será:* <code> array ('curl','https://pagseguro.uol.com.br/Security/NPI/Default.aspx') </code>* já em socket o retorno será:* <code> array ('fsocket', '/Security/NPI/Default.aspx', $objeto-de-conexao) </code>* se não encontrar nenhum nem outro:* <code> array ('','') </code>** @access private* @global string $_retPagSeguroErrNo Numero de erro do pagseguro* @global string $_retPagSeguroErrStr Texto descritivo do erro do pagseguro* @return array Array com as configurações**/
function _tipoEnvio() {//Prefira utilizar a função CURL do PHP
//Leia mais sobre CURL em: http://us3.php.net/curlglobal 
$_retPagSeguroErrNo, $_retPagSeguroErrStr;
if (function_exists('curl_exec'))return array('curl', 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx');
elseif ((PHP_VERSION >= 4.3) && ($fp = @fsockopen('ssl://pagseguro.uol.com.br', 443, $_retPagSeguroErrNo, $_retPagSeguroErrStr, 30)))return array('fsocket', '/Security/NPI/Default.aspx', $fp);
elseif ($fp = @fsockopen('pagseguro.uol.com.br', 80, $_retPagSeguroErrNo, $_retPagSeguroErrStr, 30))
return array('fsocket', '/Security/NPI/Default.aspx', $fp);return array ('', '');}/*** not_null** Extraido de OScommerce 2.2 com base no original do pagseguro,* Checa se o valor e nulo** @access public** @param mixed $value Variável a ser checada se é nula* @return bool*/
function 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;}}}/*** verifica** Verifica o tipo de conexão aberta e envia os dados vindos* do post** @access public** @use RetornoPagSeguro::_tipoenvio()* @global string $_retPagSeguroErrNo Numero de erro do pagseguro* @global string $_retPagSeguroErrStr Texto descritivo do erro do pagseguro* @param array $post Array contendo os posts do pagseguro* @param bool $tipoEnvio (opcional) Verifica o tipo de envio do post* @return bool*/
function verifica($post, $tipoEnvio=false) 
{global $_retPagSeguroErrNo, $_retPagSeguroErrStr;if ('array' !== gettype($tipoEnvio))$tipoEnvio = RetornoPagSeguro::_tipoEnvio();$spost=RetornoPagSeguro::_preparaDados($post);
if (!in_array($tipoEnvio[0], array('curl', 'fsocket')))return false;$confirma = false;
if ($tipoEnvio[0] === 'curl') {$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $tipoEnvio[1]);curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_POSTFIELDS, $spost);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 (!RetornoPagSeguro::not_null($resp)) {curl_setopt($ch, CURLOPT_URL, $tipoEnvio[1]);$resp = curl_exec($ch);}curl_close($ch);$confirma = (strcmp ($resp, 'VERIFICADO') == 0);} 
elseif ($tipoEnvio[0] === 'fsocket') {if (!$tipoEnvio[2]) {die ("{$_retPagSeguroErrStr} ($_retPagSeguroErrNo)");} else {$cabecalho = "POST {$tipoEnvio[1]} HTTP/1.0\r\n";$cabecalho .= "Content-Type: application/x-www-form-urlencoded\r\n";$cabecalho .= "Content-Length: " . strlen($spost) . "\r\n\r\n";$resp = '';fwrite ($tipoEnvio[2], "{$cabecalho}{$spost}");
while (!feof($tipoEnvio[2])) {$resp = fgets ($tipoEnvio[2], 1024);
if (strcmp ($resp, 'VERIFICADO') == 0) {$confirma = (strcmp ($resp, 'VERIFICADO') == 0);$confirma=true;break;}}fclose ($tipoEnvio[2]);}}if ($confirma && function_exists('retorno_automatico')) {$itens = array ('VendedorEmail', 'TransacaoID', 'Referencia', 'TipoFrete','ValorFrete', 'Anotacao', 'DataTransacao', 'TipoPagamento','StatusTransacao', 'CliNome', 'CliEmail', 'CliEndereco','CliNumero', 'CliComplemento', 'CliBairro', 'CliCidade','CliEstado', 'CliCEP', 'CliTelefone', 'NumItens',);
foreach ($itens as $item) {if (!isset($post[$item])) $post[$item] = '';
if ($item=='ValorFrete') $post[$item] = str_replace(',', '.', $post[$item]);}$produtos = array ();
for ($i=1;isset($post["ProdID_{$i}"]);$i++) {$produtos[] = array ('ProdID' => $post["ProdID_{$i}"],'ProdDescricao' => $post["ProdDescricao_{$i}"],'ProdValor' => (double) (str_replace(',', '.', $post["ProdValor_{$i}"])),'ProdQuantidade' => $post["ProdQuantidade_{$i}"],'ProdFrete' => (double) (str_replace(',', '.', $post["ProdFrete_{$i}"])),'ProdExtras' => (double) (str_replace(',', '.', $post["ProdExtras_{$i}"])),);}retorno_automatico ($post['VendedorEmail'], $post['TransacaoID'], $post['Referencia'], $post['TipoFrete'],$post['ValorFrete'], $post['Anotacao'], $post['DataTransacao'], $post['TipoPagamento'],$post['StatusTransacao'], $post['CliNome'], $post['CliEmail'], $post['CliEndereco'],$post['CliNumero'], $post['CliComplemento'], $post['CliBairro'], $post['CliCidade'],$post['CliEstado'], $post['CliCEP'], $post['CliTelefone'], $produtos, $post['NumItens']);}
return $confirma;}}
if ($_POST) {RetornoPagSeguro::verifica($_POST);die();}
?>

Edited by Nyke
Link to comment
Share on other sites

  • 0

falta uma }

tente

<?php
#CONFIGURAÇÕES##
$retorno_site = '/?subtopic=latestnews';  // Site para onde o usuário vai ser redirecionado
$retorno_host = 'localhost'; // Local da base de dados MySql
$retorno_database = 'otserv'; // Nome da base de dados MySql
$retorno_usuario = 'root'; // Usuario com acesso a base de dados MySql
$retorno_senha = '';  // Senha de acesso a base de dados MySql

$lnk = mysql_connect($retorno_host, $retorno_usuario, $retorno_senha) or die ('não foi possível conectar ao MySql: ' . mysql_error());
mysql_select_db($retorno_database, $lnk) or die ('não foi possível ao banco de dados selecionado no MySql: ' . mysql_error());
require_once("retorno.php");
function retorno_automatico ($VendedorEmail, $TransacaoID, $Referencia, $TipoFrete,$ValorFrete, $Anotacao, $DataTransacao, $TipoPagamento,$StatusTransacao, $CliNome, $CliEmail, $CliEndereco,$CliNumero, $CliComplemento, $CliBairro, $CliCidade,$CliEstado, $CliCEP, $CliTelefone, $produtos, $NumItens) // Gravando DadosP 
{   
$quantidade = $produtos[0]['ProdQuantidade'];
mysql_query("INSERT into PagSeguroTransacoes SET    TransacaoID='$TransacaoID',    VendedorEmail='$VendedorEmail',    Referencia='$Referencia',      TipoFrete='$TipoFrete',    ValorFrete='$ValorFrete',      Extras='$Extras',      Anotacao='$Anotacao',      TipoPagamento='$TipoPagamento',    StatusTransacao='$StatusTransacao',    CliNome='$CliNome',    CliEmail='$CliEmail',      CliEndereco='$CliEndereco',    CliNumero='$CliNumero',    CliComplemento='$CliComplemento',      CliBairro='$CliBairro',    CliCidade='$CliCidade',    CliEstado='$CliEstado',    CliCEP='$CliCEP',      CliTelefone='$CliTelefone',    NumItens='$NumItens',      ProdQuantidade='$quantidade',    Data=now();");  
if ($StatusTransacao == 'Completo' OR $StatusTransacao == 'Aprovado')  
{
$query = "SELECT premium_points FROM accounts WHERE accounts.name = '$Referencia'";
$result = mysql_query($query);
$prem = mysql_fetch_array($result);$points = $prem['premium_points'] + $quantidade;  // 
$points = mysql_query($prem);
$qry2 = "UPDATE accounts SET premium_points = '$points' WHERE accounts.name = '$Referencia'";  
$result2 = mysql_query($qry2); }
}  echo "<script type='text/javascript'>window.location = '/?subtopic=latestnews';</script> ?>";
}

Link to comment
Share on other sites

  • 0
falta uma }

tente

<?php
#CONFIGURAÇÕES##
$retorno_site = '/?subtopic=latestnews';  // Site para onde o usuário vai ser redirecionado
$retorno_host = 'localhost'; // Local da base de dados MySql
$retorno_database = 'otserv'; // Nome da base de dados MySql
$retorno_usuario = 'root'; // Usuario com acesso a base de dados MySql
$retorno_senha = '';  // Senha de acesso a base de dados MySql

$lnk = mysql_connect($retorno_host, $retorno_usuario, $retorno_senha) or die ('não foi possível conectar ao MySql: ' . mysql_error());
mysql_select_db($retorno_database, $lnk) or die ('não foi possível ao banco de dados selecionado no MySql: ' . mysql_error());
require_once("retorno.php");
function retorno_automatico ($VendedorEmail, $TransacaoID, $Referencia, $TipoFrete,$ValorFrete, $Anotacao, $DataTransacao, $TipoPagamento,$StatusTransacao, $CliNome, $CliEmail, $CliEndereco,$CliNumero, $CliComplemento, $CliBairro, $CliCidade,$CliEstado, $CliCEP, $CliTelefone, $produtos, $NumItens) // Gravando DadosP 
{   
$quantidade = $produtos[0]['ProdQuantidade'];
mysql_query("INSERT into PagSeguroTransacoes SET    TransacaoID='$TransacaoID',    VendedorEmail='$VendedorEmail',    Referencia='$Referencia',      TipoFrete='$TipoFrete',    ValorFrete='$ValorFrete',      Extras='$Extras',      Anotacao='$Anotacao',      TipoPagamento='$TipoPagamento',    StatusTransacao='$StatusTransacao',    CliNome='$CliNome',    CliEmail='$CliEmail',      CliEndereco='$CliEndereco',    CliNumero='$CliNumero',    CliComplemento='$CliComplemento',      CliBairro='$CliBairro',    CliCidade='$CliCidade',    CliEstado='$CliEstado',    CliCEP='$CliCEP',      CliTelefone='$CliTelefone',    NumItens='$NumItens',      ProdQuantidade='$quantidade',    Data=now();");  
if ($StatusTransacao == 'Completo' OR $StatusTransacao == 'Aprovado')  
{
$query = "SELECT premium_points FROM accounts WHERE accounts.name = '$Referencia'";
$result = mysql_query($query);
$prem = mysql_fetch_array($result);$points = $prem['premium_points'] + $quantidade;  // 
$points = mysql_query($prem);
$qry2 = "UPDATE accounts SET premium_points = '$points' WHERE accounts.name = '$Referencia'";  
$result2 = mysql_query($qry2); }
}  echo "&lt;script type='text/javascript'>window.location = '/?subtopic=latestnews';</script> ?>";
}

O erro está sendo no retorno.php agora, o que eu mandei acima.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...