Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mag_souza

não redireciona para a próxima página

Recommended Posts

Oi pessoal, 

 

Eu tenho o código abaixo onde o usuário efetua o cadastro e ao apertar enviar deve salvar as informações no banco de dados e prosseguir para a próxima página, porém apenas salva no banco e retorna pra mesma página e pelo que ja pesquisei o "?act=save" é o que esta fazendo continuar na mesma página ou não, posso estar errada, ja tentei mudar usar href ou header mas não acontece nada, poderiam me ajudar ?

 

<?php
 

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $id = (isset($_POST["id"]) && $_POST["id"] != null) ? $_POST["id"] : "";
     $nome = $_POST['nome'];
     $email = $_POST['email'];
     $dtnascimento= $_POST['data_nascimento'];
     $d_for = explode('/', $dtnascimento); 
     $dia = $d_for[0]; 
     $mes = $d_for[1]; 
     $ano = $d_for[2]; 
     $dtnascimento = $ano."-".$mes."-".$dia;
     $cpf = $_POST['cpf'];
     $rg = $_POST['rg'];
     $telefone = $_POST['telefone'];

} else if (!isset($id)) {
    // Se não se não foi setado nenhum valor para variável $id
    $id = (isset($_GET["id"]) && $_GET["id"] != null) ? $_GET["id"] : "";
    $nome = NULL;
    $email = NULL;
    $dtnascimento = NULL;
    $cpf = NULL;
    $rg = NULL;
    $telefone = NULL;

}


try {
    $conexao = new PDO("mysql:host=localhost; dbname=navj2", "root", "");
    $conexao->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $conexao->exec("set names utf8");
} catch (PDOException $erro) {
    echo "Erro na conexão:" . $erro->getMessage();
}

       
       if (isset($_REQUEST["act"]) && $_REQUEST["act"] == "save" && $nome != "") {
    try {
        $stmt = $conexao->prepare("INSERT INTO passageiros (nome, email, data_nascimento, cpf, rg, telefone) 
  VALUES (?, ?, ?, ?, ?, ?)");


         $stmt->bindParam(1, $nome);
        $stmt->bindParam(2, $email);
        $stmt->bindParam(3, $dtnascimento);
        $stmt->bindParam(4, $cpf);
        $stmt->bindParam(5, $rg);
        $stmt->bindParam(6, $telefone);
        if ($stmt->execute()) {
            if ($stmt->rowCount() > 0) {

             
            
                $id = null;
                $nome = NULL;
                $email = NULL;
                $dtnascimento = NULL;
                $cpf = NULL;
                $rg = NULL;
                $telefone = NULL;

                
            } else {
                echo "Erro ao tentar efetivar cadastro";
            }
        } else {
               throw new PDOException("Erro: Não foi possível executar a declaração sql");
        
    }

     } catch (PDOException $erro) {
        echo "Erro: " . $erro->getMessage();
    }
   }

?>

 

         <div class="box"> 
         <form action="?act=save" method="POST" name="form1" >
          <h1>Dados do Passageiro</h1>
          
          <input type="hidden" name="id" <?php
            // Preenche o id no campo id com um valor "value"
            if (isset($id) && $id != null || $id != "") {
                echo "value=\"{$id}\"";
            }
            ?> />
          <label>

            <center><span> Nome Completo </span></center>
          <input type="text" class="input_text" name="nome" <?php
            // Preenche o nome no campo nome com um valor "value"
            if (isset($nome) && $nome != null || $nome != ""){
                echo "value=\"{$nome}\"";
            }
            ?> />

        </label>
          <label> 
            <center><span>E-mail</span></center>
           <input type="text" class="input_text" name="email" <?php
            // Preenche o email no campo email com um valor "value"
            if (isset($email) && $email != null || $email != ""){
                echo "value=\"{$email}\"";
            }
            ?> /></label>

            <label>            
           <center><span> Data de Nascimento </span></center>
          <input onkeypress="MascaraData(this);" maxlength="10"  type="text" class="input_text" name="data_nascimento" <?php
            // Preenche o nome no campo nome com um valor "value"
            if (isset($dtnascimento) && $dtnascimento != null || $dtnascimento != ""){
                echo "value=\"{$dtnascimento}\"";
            }
            ?> />

        </label>

          <label >
            <center><span>Cpf</span></center>
          <input onkeypress="Cpf(this);" maxlength="14" type="text" class="input_text" name="cpf" <?php
            // Preenche o cpf no campo cpf com um valor "value"
            if (isset($cpf) && $cpf != null || $cpf != ""){
                echo "value=\"{$cpf}\"";
            }
            ?> />

        </label>

<label>
           <center><span>Rg</span></center>
          <input type="text" class="input_text" name="rg" <?php
            // Preenche o cpf no campo cpf com um valor "value"
            if (isset($rg) && $rg != null || $rg != ""){
                echo "value=\"{$rg}\"";
            }
            ?> />
</label>
         <label>
            <center><span>Telefone</span></center>   
               <input onkeypress="Telefone(this);" maxlength="13" type="text" class="input_text" name="telefone" <?php
            // Preenche o celular no campo celular com um valor "value"
            if (isset($telefone) && $telefone != null || $telefone != ""){
                echo "value=\"{$telefone}\"";
            }
            ?> />
           
           <br>
           <br>
           <br>
          <input type="submit" class="button" value="Enviar" />

         </label>

     
       </form>
   </div>
    <br>
    <br>
    <br>
 

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 horas atrás, mag_souza disse:

<form action="?act=save"

Se usa a requisição do mesmo arquivo, use:

<form action="" method="POST">

Sugiro usar outro arquivo, exemplo:

 

"insere.php" com a query pra dar update, e assim o href e header vão funcionar, caso opte por usar dessa forma, mude para:

 

<form action="NOME_DA_SUA_PAGINA_COM_QUERY_DE_INSERCAO.php" method="POST">

E nesse arquivo deve conter apenas a estrutura que insere o registro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja tinha usado a primeira opção, não envia pro banco de dados.

A segunda tambem não funcionou. Mas obrigada 

Agora, Jesse&Francinete disse:

Se usa a requisição do mesmo arquivo, use:


<form action="" method="POST">

Sugiro usar outro arquivo, exemplo:

 

"insere.php" com a query pra dar update, e assim o href e header vão funcionar, caso opte por usar dessa forma, mude para:

 


<form action="NOME_DA_SUA_PAGINA_COM_QUERY_DE_INSERCAO.php" method="POST">

E nesse arquivo deve conter apenas a estrutura que insere o registro.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Querida, para redirecionar use isso:

 

echo '<meta HTTP-EQUIV="Refresh" CONTENT="1; URL=SUA_PAGINA.php">';

Ao invés de usar href ou header.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Estou com uma dúvida, referente cálculo de valores em tempo real.

      Tenho uma rotina, que faz o cálculo, o problema é mostrar o resultado.

      Quero mostrar o RESULTADO assim: 0,00  ou  0.00

      Abaixo posto o código.
      jQuery('input').on('keyup',function(){ //Remover ponto e trocar a virgula por ponto var m = document.getElementById("pgRest").value; while (m.indexOf(".") >= 0) { m = m.replace(".", ""); } m = m.replace(",","."); //Remover ponto e trocar a virgula por ponto var j = document.getElementById("pgDsct").value; while (j.indexOf(".") >= 0) { j = j.replace(".", ""); } j = j.replace(",","."); m = parseFloat(jQuery('#pgRest').val() != '' ? jQuery('#pgRest').val() : 0); j = parseFloat(jQuery('#pgDsct').val() != '' ? jQuery('#pgDsct').val() : 0); //Mostra o Resultado em Tempo Real jQuery('#pgTroco').val(m - j); <<=== aqui estou errando })  
       
      Grato,
       
      Cesar
       
       
    • Por violin101
      Caro amigos, saudações.

      Tenho uma tabela escrita em JS que funciona corretamente.
       
      Minha dúvida:
      - como devo fazer para quando a Tabela HTML estiver vazia, exibir o LOGO da Empresa ?

      Abaixo posto o script:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'i' ) return;// Não é Ctrl+A, portanto interrompemos o script evt.preventDefault(); //Chama a Função Calcular Qtde X Valor Venda calcvda(); var idProdutos = document.getElementById("idProdutos").value; var descricao = document.getElementById("descricao").value; var prd_unid = document.getElementById("prd_unid").value; var estoque_atual = document.getElementById("estoque_atual").value; var qtde = document.getElementById("qtde").value; var vlrunit = document.getElementById("vlrunit").value; var vlrtotals = document.getElementById("vlrtotal").value; var vlrtotal = vlrtotals.toLocaleString('pt-br', {minimumFractionDigits: 2}); if(validarConsumo(estoque_atual)){ //Chama a Modal com Alerta. $("#modal_qtdemaior").modal(); } else { if(qtde == "" || vlrunit == "" || vlrtotal == ""){ //Chama a Modal com Alerta. $("#modal_quantidade").modal(); } else { //Monta a Tabela com os Itens html = "<tr style='font-size:13px;'>"; html += "<td width='10%' height='10' style='text-align:center;'>"+ "<input type='hidden' name='id_prds[]' value='"+idProdutos+"'>"+idProdutos+"</td>"; html += "<td width='47%' height='10'>"+ "<input type='hidden' name='descricao[]' value='"+descricao+"'>"+descricao+ "<input type='hidden' name='esp[]' value='"+prd_unid+"'> - ESP:"+prd_unid+ "<input type='hidden' name='estoq[]' value='"+estoque_atual+"'></td>"; html += "<td width='10%' height='10' style='text-align:center;'>"+ "<input type='hidden' name='qtde[]' value='"+qtde+"'>"+qtde+"</td>"; html += "<td width='12%' height='10' style='text-align:right;'>"+ "<input type='hidden' name='vlrunit[]' value='"+vlrunit+"'>"+vlrunit+"</td>"; html += "<td width='14%' height='10' style='text-align:right;'>"+ "<input type='hidden' name='vlrtotal[]' value='"+vlrtotal+"'>"+vlrtotal+"</td>"; html += "<td width='12%' height='10' style='text-align:center;'>"+ "<button type='button' class='btn btn-uvas btn-remove-produto' style='margin-right:1%; padding:1px 3px; font-size:12px;' title='Remover Item da Lista'>"+ "<span class='fa fa-minus' style='font-size:12px;'></span></button></td>"; html += "</tr>"; $("#tbventas tbody").append(html); //Função para Somar os Itens do Lançamento somar(); $("#idProdutos").val(null); $("#descricao").val(null); $("#prd_unid").val(null); $("#qtde").val(null); $("#vlrunit").val(null); $("#vlrtotal").val(null); $("#idProdutos").focus(); //Se INCLUIR NOVO produto - Limpa a Forma de Pagamento $("#pgSoma").val(null); $("#pgRest").val(null); $("#pgDsct").val(null); $("#pgTroco").val(null); $("#tbpagar tbody").empty(); }//Fim do IF-qtde }//Fim do Validar Consumo });//Fim da Função btn-agregar  
      Grato,

      Cesar
       
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.