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

(Resolvido) Ajuda com boleto


JangoPI

Pergunta

Olá pessoa estou trabalhando em um site onde a pessoa preenche um cadastro que vai ser enviado para o email da instituição e nesse cadastro dever o ir o numero que vai ser utilizado para a geração do boleto do Banco do Brasil (refTran).

Esse número é importante pois vou conferir quem fez o pagamento através desse número.

O problema é que não estou conseguindo capturar esse número e joga-lo na outra página onde vai ser usada pra gera o boleto.

Estou usando um randomizador para gerar numeros diferentes a cada acesso.

Uma outra solução do meu problema seria enviar o número pro email direto da pagina onde tem o formúlario do boleto.

<?php

$part1 = date("md");
$part2 = date("Hi");
$part3 = date("s");

$codigo = "1599112" . $part1 . $part2 . $part3;

function tratarData($data){
  $parte = explode('/', $data);
  $formata = strtotime($parte[1]."/".$parte[0]."/".$parte[2]);
  return $formata;
}

function tratarMoeda($valor){
  $parte1 = substr($valor, 0, 3);
  $parte2 = substr($valor, 3, 2);
  $moeda = $parte1 . "," . $parte2;
  return $moeda;
}

function valorBoleto($tipo){

//$dataAtual = tratarData('01/03/09');
$dataAtual = date("d/m/y");

$dataBoleto1 = tratarData('31/01/09');
$dataBoleto2 = tratarData('10/04/09');
$dataBoleto3 = tratarData('31/05/09');
$dataBoleto4 = tratarData('23/06/09');

if($tipo == 1) {
   if ($dataBoleto1 >= $dataAtual) {
      $valorBoleto = "10000"; }
   else if ($dataBoleto2 >= $dataAtual) {
      $valorBoleto = "15000"; }
   else if ($dataBoleto3 >= $dataAtual) {
      $valorBoleto = "20000"; }
   else if ($dataBoleto4 >= $dataAtual) {
      $valorBoleto = "25000"; }
   else {
      $valorBoleto = "00000"; }
}

  if($tipo == 2){
   if ($dataBoleto1 >= $dataAtual) {
      $valorBoleto = "14000"; }
   else if ($dataBoleto2 >= $dataAtual) {
      $valorBoleto = "21000"; }
   else if ($dataBoleto3 >= $dataAtual) {
      $valorBoleto = "26000"; }
   else if ($dataBoleto4 >= $dataAtual) {
      $valorBoleto = "33000"; }
   else {
      $valorBoleto = "00000"; }
  }

  if($tipo == 3){
   if ($dataBoleto1 >= $dataAtual) {
      $valorBoleto = "20000"; }
   else if ($dataBoleto2 >= $dataAtual) {
      $valorBoleto = "30000"; }
   else if ($dataBoleto3 >= $dataAtual) {
      $valorBoleto = "36000"; }
   else if ($dataBoleto4 >= $dataAtual) {
      $valorBoleto = "40000"; }
   else {
      $valorBoleto = "00000"; }
  }

  if($tipo == 4){
   if ($dataBoleto1 >= $dataAtual) {
      $valorBoleto = "26000"; }
   else if ($dataBoleto2 >= $dataAtual) {
      $valorBoleto = "38000"; }
   else if ($dataBoleto3 >= $dataAtual) {
      $valorBoleto = "44000"; }
   else if ($dataBoleto4 >= $dataAtual) {
      $valorBoleto = "50000"; }
   else {
      $valorBoleto = "00000"; }
  }

  if($tipo == 5){
   if ($dataBoleto1 >= $dataAtual) {
      $valorBoleto = "18000"; }
   else if ($dataBoleto2 >= $dataAtual) {
      $valorBoleto = "27000"; }
   else if ($dataBoleto3 >= $dataAtual) {
      $valorBoleto = "36000"; }
   else if ($dataBoleto4 >= $dataAtual) {
      $valorBoleto = "41000"; }
   else {
      $valorBoleto = "00000"; }
  }

  if($tipo == 6){
   if ($dataBoleto1 >= $dataAtual) {
      $valorBoleto = "32000"; }
   else if ($dataBoleto2 >= $dataAtual) {
      $valorBoleto = "46000"; }
   else if ($dataBoleto3 >= $dataAtual) {
      $valorBoleto = "56000"; }
   else if ($dataBoleto4 >= $dataAtual) {
      $valorBoleto = "60000"; }
   else {
      $valorBoleto = "00000"; }
  }

  return $valorBoleto;
}

?>

</head>

<body>

<form action="https://www16.bancodobrasil.com.br/site/mpag/" method="get" name="pagamento">
<p>
  <input type="hidden" name="idConv" value="305334">
  <input name="urlRetorno" type="hidden" value="/cadastro2.php">
  <input type="hidden" name="dtVenc" value="31012009">
  <input type="hidden" name="msgLoja" value="Associação Brasileira de Obstetrizes e Enfermeiros Obstetras do Estado do Piauí - VI COBEON - Mais informações no site: www.abenfopi.com.br ou por email: abenfopi@abenfopi.com.br">
    <input type="hidden" name="tpPagamento" value="2">
  <input name="refTran" type="hidden" id="refTran" value= <? echo $codigo ?> />
</p>
<p class="style3">Formulário de Geração de Boleto</p>
<p>
  <label></label><label><span class="style1">Nome:
  <input name="nome" type="text" id="nome" maxlength="60" />
  </span></label>
  <span class="style2">*</span></p>
<p><span class="style1">CPF</span>: 
  <label>
  <input type="text" name="cpf" id="cpf" />
  </label> 
  <span class="style2">*</span></p>
<p class="style1">
  <label>Endereço:
  <input name="endereco" type="text" id="endereco" maxlength="60" />
  </label> 
  <span class="style2">*</span></p>
<p class="style1">
  <label>CEP:
  <input name="cep" type="text" id="cep" maxlength="8" />
  </label> 
  <span class="style2">*</span></p>
<p class="style1">
  <label></label><label>Cidade:
  <input name="cidade" type="text" id="cidade" maxlength="18" />
  </label> 
  <span class="style2">*</span></p>
<p class="style1">
  <label>UF:
  <input name="uf" type="text" id="uf" maxlength="2" />
  </label> 
  <span class="style2">*<br />
  * Campos Obrigátorios</span><span class="style1"> <br />
  <label></label>
  <br />
  </span>
  <label></label>
    <span class="style1">Tipo de Inscrição:</span> 
    <label>
    <select name="valor" id="valor">
      <option value=<? echo valorBoleto(1); ?> selected="selected">Enfermeiro Sócio, Estudantes e Técnicos (congresso) R$ <? echo tratarMoeda(valorBoleto(1)); ?></option>
      <option value=<? echo valorBoleto(2); ?> >Enfermeiro Sócio, Estudantes e Técnicos (congresso+oficinas/cursos) R$ <? echo tratarMoeda(valorBoleto(2)); ?></option>
      <option value=<? echo valorBoleto(5); ?> >Enfermeiro Sócio, Estudantes e Técnicos (congresso + 02 oficinas) R$ <? echo tratarMoeda(valorBoleto(5)); ?></option>
      <option value=<? echo valorBoleto(3); ?> >Outros e Enf. Não-Sócios (congresso) R$ <? echo tratarMoeda(valorBoleto(3)); ?></option>
      <option value=<? echo valorBoleto(4); ?> >Outros e Enf. Não-Sócios (congresso + oficinas/cursos) R$ <? echo tratarMoeda(valorBoleto(4)); ?></option>
      <option value=<? echo valorBoleto(6); ?> >Outros e Enf. Não-Sócios (congresso + 02 oficinas) R$ <? echo tratarMoeda(valorBoleto(6)); ?></option>
    </select>
    </label>
</p>
<p>
  <label></label>
    <label>
    <input name="envia" type="submit" id="envia" value="enviar" />
    </label>
</form>
</body>
</html>

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

6 respostass a esta questão

Posts Recomendados

  • 0

1. Isso ia dar pau...

<input name="refTran" type="hidden" id="refTran" value="<?php echo $codigo; ?>" />
2. Grava o reftran em session
session_start();
$_SESSION['code'] = $codigo;
3. Imprime na outra pagina
echo $_SESSION['code'];

Link para o comentário
Compartilhar em outros sites

  • 0
1. Isso ia dar pau...

<input name="refTran" type="hidden" id="refTran" value="<?php echo $codigo; ?>" />
2. Grava o reftran em session
session_start();
$_SESSION['code'] = $codigo;
3. Imprime na outra pagina
echo $_SESSION['code'];

obrigado pela ajuda, mais não consegui resolver o problema. :(

vou explicar melhor, tem uma pagina para cadastro com um formulario básico que nele tem ir junto o número gerado, depois de enviado o site redireciona para outra pagina (atraves do redirect) onde vai ser preenchido os dados do boleto que deve ter o mesmo número gerado na pagina anterior. casa isso não seja possivel queria usar o proprio formulario do boleto para enviar os dados pro email, se for possivel e claro.

Link para o comentário
Compartilhar em outros sites

  • 0

Essas duas páginas (a de cadastro e a que é aberta depois do redirect) estão no mesmo servidor? Se estiverem o que o Norivan passou é o suficiente, já que as sessões são válidas dentro do mesmo servidor, agora se uma página está em um servidor e a outra em outro, você teria que dar um redirect passando esse valor como querystring....

Link para o comentário
Compartilhar em outros sites

  • 0
Essas duas páginas (a de cadastro e a que é aberta depois do redirect) estão no mesmo servidor? Se estiverem o que o Norivan passou é o suficiente, já que as sessões são válidas dentro do mesmo servidor, agora se uma página está em um servidor e a outra em outro, você teria que dar um redirect passando esse valor como querystring....

Está no mesmo servidor, o correto seria eu colocar o codigo dessa forma na pagina de cadastro?

$part1 = date("md");
$part2 = date("Hi");
$part3 = date("s");

$codigo = "1599112" . $part1 . $part2 . $part3;

session_start();
$_SESSION['code'] = $codigo;
e na outra:
echo $_SESSION['code'];
correto? tentei da forma como citei em cima e deu o seguinte erro
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/abenfopi/www/boleto/cadastro2.php:5) in /home/abenfopi/www/boleto/cadastro2.php on line 60

novamente obrigado pela ajuda.

Editado por JangoPI
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...