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

Voltar pagina formulário


AlexandreSA

Pergunta

Boa tarde,

Pessoal, eu já procurei em tudo e não achei, meu problema é o seguinte:

Tenho uma pagina de cadastro com action para outra pagina php:

"inserir_inativos.php"

<?php
require_once("conexao/conexao.php");
require_once("classes/inativos.class.php");
require_once("classes/dependentes.class.php");

if ($_POST['txt_matricula'] == ''){
    header("Location: recadastrar_inativos.php",true);
}

// Instancia a classe Inativos
$inativosClass = new Inativos();

// Pega os dados vindos do formulário
$inativo = array(
'matricula' => (int)trim($_POST['txt_matricula']), 
'nome' => "'$_POST[txt_nome]'",
'nascimento' => "$_POST[txt_nascimento]", 
'sexo' => "'$_POST[rd_sexo]'",
'estado_civil' => "'$_POST[sel_estado_civil]'",
'identidade' => "'$_POST[txt_rg]'", 
'cpf' => "'$_POST[txt_cpf]'", 
'logradouro' => "'$_POST[txt_logradouro]'",
'numero' => "$_POST[txt_numero]",
'complemento' => "'$_POST[txt_complemento]'",
'bairro' => "'$_POST[txt_bairro]'",
'cidade' => "'$_POST[txt_cidade]'", 
'estado' => "'$_POST[txt_estado]'", 
'cep' => "'$_POST[txt_cep]'", 
'pais' => "'$_POST[txt_pais]'",
'telefone' => "'$_POST[txt_telefone]'", 
'celular' => "'$_POST[txt_celular]'", 
'email' => "'$_POST[email]'",
'renda' => "'$_POST[rd_renda]'",
'fonte' => "'$_POST[txt_fonte]'",
'ip' => "'$_SERVER[REMOTE_ADDR]'",
'data' => "'" . date('Y-m-d H:i:s') . "'"); 

// Formata data para inserir no banco
$inativo['nascimento'] = $inativosClass->data2banco($inativo['nascimento']);

// Retira mascara do CEP
$inativo['cep'] = $inativosClass->cep($inativo['cep']);

// Retira mascara do CPF
$inativo['cpf'] = $inativosClass->cpf($inativo['cpf']);

$dadosInativo = implode(', ',$inativo);
//echo "Dados Inativo: " . $dadosInativo . "<br /> <br />";

// Se o campo "lembrar" não existir, o script funcionará normalmente
$lembrar = (isset($_POST['lembrar']) AND !empty($_POST['lembrar']));

// Inserir inativo
if ($inativosClass->inserirInativo($dadosInativo, $inativo['matricula'])) {
    $inativosClass->sessaoInativo($inativo['matricula'], $lembrar);
    
    // Instancia a classe
    $dependentesClass = new Dependentes();
    
    $nomeConj = $_POST['txt_nomeConj'];
    $tipoConj = $_POST['sel_tipoConj'];
    $nascConj = $_POST['txt_nascConj'];
    
    if (($tipoConj <> '') || ($nomeConj <> '') || ($nascConj <> '')) {
        $nascConj = $dependentesClass->data2banco($nascConj);
        $conjuge = array('nomeConj' => "'$nomeConj'", 
                         'nascConj' => $nascConj, 
                         'tipoConj' => $tipoConj
                                );
        $dadosConjuge = implode(', ',$conjuge);
        $dependentesClass->inserirDependente($dadosConjuge, $_SESSION['inativos_F_INA_ID']);
        //echo $dadosConjuge . "<br />";
    }
        
    $nomeDep = $_POST['txt_nomeDep'];
    $nascDep = $_POST['txt_nascDep'];
    $tipoDep = $_POST['sel_tipoDep'];    
    
    $cont = count($nomeDep);
    for ($i=0; $i<$cont; $i++) {    
        if (($nomeDep[$i] == '') || ($nascDep[$i] == '') || ($tipoDep[$i] == '')) {
            
            echo "&lt;script language='javascript'>
            window.open('confirmar_inativos.php', 'confirmar_inativos' , 'height = 300 , width = 510');
            window.location.href='http://www.google.com.br';
            </script>";
            
            exit;
        } else {
            $nascDep[$i] = $dependentesClass->data2banco($nascDep[$i]);
            $dependente = array('nomeDep' => "'$nomeDep[$i]'", 
                                'nascDep' => $nascDep[$i], 
                                'tipoDep' => $tipoDep[$i]
                                );
            $dadosDependente[$i] = implode(', ',$dependente);
            //echo $dadosDependente[$i];
        }
        if($dependentesClass->inserirDependente($dadosDependente[$i], $_SESSION['inativos_F_INA_ID'])){
            $dependentesClass->sessaoDependente($_SESSION['inativos_F_INA_ID']);
        } else {
            echo "<strong>Erro: </strong>" . $dependentesClass->erro;            
        }
    }    
    
    echo "&lt;script language='javascript'>
    window.open('confirmar_inativos.php', 'confirmar_inativos' , 'height = 300 , width = 510');
    window.location.href='http://www.google.com.br';
    </script>";
    
    exit;
} else {
    // Não foi possível inserir inativo, exibe a mensagem de erro
    echo "<strong>Erro: </strong>" . $inativosClass->erro;
}
?>
essa pagina pega os post da pagina de cadastro:
<form id="form_cadastrar" class="formular" method="post" action="inserir_inativos.php" >

quando eu tento acessar a pagina "inserir_inativos.php" de primeira no navegador ele redireciona para a pagina de cadastro OK, mas se eu cadastrar (ele redireciona para a pagina que eu quero, OK) e depois usar o "BOTÃO Voltar do Internet Explorer" ele cai na pagina inserir_inativos.php (ERRADO) ... como eu faço para que ela ("inserir_inativos.php") seja chamada apenas pela sua pagina de cadastro?

Obrigado.

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
Boa tarde,

Pessoal, eu já procurei em tudo e não achei, meu problema é o seguinte:

Tenho uma pagina de cadastro com action para outra pagina php:

"inserir_inativos.php"

<?php
require_once("conexao/conexao.php");
require_once("classes/inativos.class.php");
require_once("classes/dependentes.class.php");

if ($_POST['txt_matricula'] == ''){
    header("Location: recadastrar_inativos.php",true);
}

// Instancia a classe Inativos
$inativosClass = new Inativos();

// Pega os dados vindos do formulário
$inativo = array(
'matricula' => (int)trim($_POST['txt_matricula']), 
'nome' => "'$_POST[txt_nome]'",
'nascimento' => "$_POST[txt_nascimento]", 
'sexo' => "'$_POST[rd_sexo]'",
'estado_civil' => "'$_POST[sel_estado_civil]'",
'identidade' => "'$_POST[txt_rg]'", 
'cpf' => "'$_POST[txt_cpf]'", 
'logradouro' => "'$_POST[txt_logradouro]'",
'numero' => "$_POST[txt_numero]",
'complemento' => "'$_POST[txt_complemento]'",
'bairro' => "'$_POST[txt_bairro]'",
'cidade' => "'$_POST[txt_cidade]'", 
'estado' => "'$_POST[txt_estado]'", 
'cep' => "'$_POST[txt_cep]'", 
'pais' => "'$_POST[txt_pais]'",
'telefone' => "'$_POST[txt_telefone]'", 
'celular' => "'$_POST[txt_celular]'", 
'email' => "'$_POST[email]'",
'renda' => "'$_POST[rd_renda]'",
'fonte' => "'$_POST[txt_fonte]'",
'ip' => "'$_SERVER[REMOTE_ADDR]'",
'data' => "'" . date('Y-m-d H:i:s') . "'"); 

// Formata data para inserir no banco
$inativo['nascimento'] = $inativosClass->data2banco($inativo['nascimento']);

// Retira mascara do CEP
$inativo['cep'] = $inativosClass->cep($inativo['cep']);

// Retira mascara do CPF
$inativo['cpf'] = $inativosClass->cpf($inativo['cpf']);

$dadosInativo = implode(', ',$inativo);
//echo "Dados Inativo: " . $dadosInativo . "<br /> <br />";

// Se o campo "lembrar" não existir, o script funcionará normalmente
$lembrar = (isset($_POST['lembrar']) AND !empty($_POST['lembrar']));

// Inserir inativo
if ($inativosClass->inserirInativo($dadosInativo, $inativo['matricula'])) {
    $inativosClass->sessaoInativo($inativo['matricula'], $lembrar);
    
    // Instancia a classe
    $dependentesClass = new Dependentes();
    
    $nomeConj = $_POST['txt_nomeConj'];
    $tipoConj = $_POST['sel_tipoConj'];
    $nascConj = $_POST['txt_nascConj'];
    
    if (($tipoConj <> '') || ($nomeConj <> '') || ($nascConj <> '')) {
        $nascConj = $dependentesClass->data2banco($nascConj);
        $conjuge = array('nomeConj' => "'$nomeConj'", 
                         'nascConj' => $nascConj, 
                         'tipoConj' => $tipoConj
                                );
        $dadosConjuge = implode(', ',$conjuge);
        $dependentesClass->inserirDependente($dadosConjuge, $_SESSION['inativos_F_INA_ID']);
        //echo $dadosConjuge . "<br />";
    }
        
    $nomeDep = $_POST['txt_nomeDep'];
    $nascDep = $_POST['txt_nascDep'];
    $tipoDep = $_POST['sel_tipoDep'];    
    
    $cont = count($nomeDep);
    for ($i=0; $i<$cont; $i++) {    
        if (($nomeDep[$i] == '') || ($nascDep[$i] == '') || ($tipoDep[$i] == '')) {
            
            echo "&lt;script language='javascript'>
            window.open('confirmar_inativos.php', 'confirmar_inativos' , 'height = 300 , width = 510');
            window.location.href='http://www.google.com.br';
            </script>";
            
            exit;
        } else {
            $nascDep[$i] = $dependentesClass->data2banco($nascDep[$i]);
            $dependente = array('nomeDep' => "'$nomeDep[$i]'", 
                                'nascDep' => $nascDep[$i], 
                                'tipoDep' => $tipoDep[$i]
                                );
            $dadosDependente[$i] = implode(', ',$dependente);
            //echo $dadosDependente[$i];
        }
        if($dependentesClass->inserirDependente($dadosDependente[$i], $_SESSION['inativos_F_INA_ID'])){
            $dependentesClass->sessaoDependente($_SESSION['inativos_F_INA_ID']);
        } else {
            echo "<strong>Erro: </strong>" . $dependentesClass->erro;            
        }
    }    
    
    echo "&lt;script language='javascript'>
    window.open('confirmar_inativos.php', 'confirmar_inativos' , 'height = 300 , width = 510');
    window.location.href='http://www.google.com.br';
    </script>";
    
    exit;
} else {
    // Não foi possível inserir inativo, exibe a mensagem de erro
    echo "<strong>Erro: </strong>" . $inativosClass->erro;
}
?>
essa pagina pega os post da pagina de cadastro:
<form id="form_cadastrar" class="formular" method="post" action="inserir_inativos.php" >

quando eu tento acessar a pagina "inserir_inativos.php" de primeira no navegador ele redireciona para a pagina de cadastro OK, mas se eu cadastrar (ele redireciona para a pagina que eu quero, OK) e depois usar o "BOTÃO Voltar do Internet Explorer" ele cai na pagina inserir_inativos.php (ERRADO) ... como eu faço para que ela ("inserir_inativos.php") seja chamada apenas pela sua pagina de cadastro?

Obrigado.

isso ocorre porque o codigo verifica se existe a variavel

_POST['txt_matricula']

e ela não foi destruida ou a pagina está armazenada no cache do navegor

tente utilizar o unset($_POST['txt_matricula']) na pagina depois de realizar o cadastro e verifique se deu certo, agora o problema de armazenamento do cache verifique se é possivel destruir a sua pagina com js.até mais

Link para o comentário
Compartilhar em outros sites

  • 0
isso ocorre porque o codigo verifica se existe a variavel

_POST['txt_matricula']e ela não foi destruida ou a pagina está armazenada no cache do navegor

tente utilizar o unset($_POST['txt_matricula']) na pagina depois de realizar o cadastro e verifique se deu certo, agora o problema de armazenamento do cache verifique se é possivel destruir a sua pagina com js.até mais

Não deu certo fiz assim:

no inicio:

if (($_POST['txt_matricula'] == ''){
    header("Location: recadastrar_inativos.php",true);
}
entre os ifs:
if (($nomeDep[$i] == '') || ($nascDep[$i] == '') || ($tipoDep[$i] == '')) {
            unset($_POST['txt_matricula']);
            echo "<script language='javascript'>
            window.open('confirmar_inativos.php', 'confirmar_inativos' , 'height = 300 , width = 510');
            window.location.href='http://www.ipremgv.mg.gov.br';
            </script>";
echo "<strong>Erro: </strong>" . $dependentesClass->erro;            
        }
    }    
    unset($_POST['txt_matricula']);
    echo "<script language='javascript'>
    window.open('confirmar_inativos.php', 'confirmar_inativos' , 'height = 300 , width = 510');
    window.location.href='http://www.ipremgv.mg.gov.br';
    </script>";

Link para o comentário
Compartilhar em outros sites

  • 0
UP UP ...

alguém pode me ajudar?? B)

Alexandre, peço que leia as regras do Forum:

3.8 Não é permitida a postagem de mensagens com a finalidade de manter o tópico no início da lista (up), nem de mensagens que não se refiram ao assunto do tópico (flood). Caso isso ocorra, as mensagens serão excluídas e os autores, advertidos.

Link para o comentário
Compartilhar em outros sites

  • 0
Eita! Não entendi sua dúvida não o0

Tem como explicar melhor??

Tem sim ...

eu tenho um formulário com action para uma pagina php (que esta descrita acima) ... quando o usuário termina o cadastro ele redireciona para uma outra pagina qualquer ... mas se eu usar o botão voltar do I.E. (qualquer navegador) ele volta para a pagina "inserir_inativos.php" que tem apenas códigos ... não tem nada na tela para o usuário ... gostaria de que ao usar o voltar ele voltasse para a pagina de cadastro.

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...