Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
<?php
$ProdID_1 = "Produto 1";
$ProdID_2 = "Produto 2";
$fp = fopen("bloco1.txt", "a");
$n = 1;
$limite = 2;
while ($n <= $limite) {
$escreve = fwrite($fp, "$ProdID_$n - escrevendo os produtos");
$n++;
}
fclose($fp);
?>
O que eu quero é que o while mude a Variável $ProdID_ e junte o $n para ela ficar ProdID_1, ProdID_2. e vá pegando o nome do produto acima, entende?
Obrigado!
E como eu faço isso, comecei trabalhar com php ontem.. kkkk
nao entedi sua duvida
assim, mais ou menos:
<?php
$ProdID[] = "Produto 1";
$ProdID[] = "Produto 2";
$fp = fopen("bloco1.txt", "a");
$n = 0;
$limite = count( $ProdID );
while ($n <= $limite) {
$escreve = fwrite($fp, "{$ProdID[ $n ]} - escrevendo os produtos");
$n++;
}
fclose($fp);
?>Kara, na verdade eu quero pegar os produtos que vêm na página de Retorno do PagSeguro, que axo que deve ser mais ou menos igual o que eu apresentei ae... Mas não consigo pegar esse negócio... Comecei em PHP ontem.. kkkk
E já olhei alguns scripts mas num entendo nada!
Vcs podem me ajudar?
Só a parte de ler a quantidade dos produtos que vem da Compra pelo PagSeguro e salvar esses negócios no arquivo.
eu quero pegar os produtos que vêm na página de Retorno do PagSeguro,
entao antes de mais nada, você precisa entender como o pagseguro lhe envia.
<?php
echo '<pre>';
var_dump( $_POST, $_GET );
coloque apenas isso, e poste o resultado, para vermos oq o PagSeguro está lhe enviando.
se você não conseguir 'visualizar' isso, entao grave essa saída para podermos prosseguir.
<?php
header('Content-Type: text/html; charset=ISO-8859-1');
define('TOKEN', 'DABEFFF8DABA465E99E4C0F9AE148C82');
class PagSeguroNpi {
private $timeout = 20; // Timeout em segundos
public function notificationPost() {
$postdata = 'Comando=validar&Token='.TOKEN;
foreach ($_POST as $key => $value) {
$valued = $this->clearStr($value);
$postdata .= "&$key=$valued";
}
return $this->verify($postdata);
}
private function clearStr($str) {
if (!get_magic_quotes_gpc()) {
$str = addslashes($str);
}
return $str;
}
private function verify($data) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://pagseguro.uol.com.br/pagseguro-ws/checkout/NPI.jhtml");
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_TIMEOUT, $this->timeout);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$result = trim(curl_exec($curl));
curl_close($curl);
return $result;
}
}
if (count($_POST) > 0) {
// POST recebido, indica que é a requisição do NPI.
$npi = new PagSeguroNpi();
$result = $npi->notificationPost();
$transacaoID = isset($_POST['TransacaoID']) ? $_POST['TransacaoID'] : '';
if ($result == "VERIFICADO") {
$V_TransacaoID = $_POST['TransacaoID'];
$fp = fopen("bloco2.txt", "a");
$escreve = fwrite($fp, var_dump( $_POST ));
fclose($fp);
} else if ($result == "FALSO") {
//O post não foi validado pelo PagSeguro.} else {
// POST não recebido, indica que a requisição é o retorno do Checkout PagSeguro.
// No término do checkout o usuário é redirecionado para este bloco.
?>
<meta http-equiv="refresh" content="0;URL=pedido-finalizado-ok.asp">
<?php
}
?>
eu coloquei lá e ele apenas retornou "Array", nada mais...
mas se eu colocar assim...
$fp = fopen("bloco2.txt", "a");
$escreve = fwrite($fp, $V_TransacaoID);
fclose($fp);
ele retorna o código da transação corretamente... o que tem errado?
Opa, tentei assim também...
$n = 0;
$limite = $V_NumItens;
while ($n <= $limite) {
$V_ProdID_{$n} = $_POST['ProdID_{$n}'];
$n++;
}
$fp = fopen("bloco2.txt", "a");
$n = 0;
$limite = $V_NumItens;
while ($n <= $limite) {
$escreve = fwrite($fp, "$V_ProdID_{$n} ----- ");
$n++;
}
fclose($fp);
MAs o arquivo bloco2.txt me retornou apenas
------------------------------------------
Array0 ----- Array1 ----- Array2 -----
------------------------------------------
trabalhe com Arrays, será bem mais simples.