PAULO ROBERTO NOGUEIRA 1 Denunciar post Postado Julho 19, 2017 Bom dia. Pessoal, quando eu gravo novos registros através do formulário o sistema repete esses dados quando clico no F5. Eu fazia um redirecionamento para pagina inicial e um die() depois do insert, mas com o pdo nao esta funcionando. O que pode ser feito pra evitar isso? Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Julho 19, 2017 Um redirecionamento já resolve. Compartilhar este post Link para o post Compartilhar em outros sites
PAULO ROBERTO NOGUEIRA 1 Denunciar post Postado Julho 19, 2017 tentei isso: header('Location: cadFuncoes.php'); die(); apos o $stm->execute(); Funcionva quando nao usava pdo. agora nao acontece nada e continua enviando os dados Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Julho 19, 2017 Tem algo errado. Poste o código. Dentro das tag CODE por favor. Compartilhar este post Link para o post Compartilhar em outros sites
PAULO ROBERTO NOGUEIRA 1 Denunciar post Postado Julho 19, 2017 public function insert() { try{ $sql = "INSERT INTO $this->tabela (nva_nome, nva_inlcuir, nva_excluir, nva_visualizar, nva_dataCad, nva_status) VALUES (:nva_nome, :nva_incluir, :nva_excluir, :nva_visualizar, :nva_dataCad, :nva_status)"; $stm = DB::prepare($sql); //substituir $stm->bindValue(':nva_nome', $this->getNva_nome()); $stm->bindValue(':nva_incluir', $this->getNva_incluir()); $stm->bindValue(':nva_excluir', $this->getNva_excluir()); $stm->bindValue(':nva_visualizar', $this->getNva_visualizar()); $stm->bindValue(':nva_dataCad', $this->getNva_dataCad()); $stm->bindValue(':nva_status', $this->getNva_status()); //Gravando o log DB::setLogger(new TLoggerTXT('./tmp/arquivo.txt'));//grava o rquivo de log DB::log("Inserindo registro"); DB::log($sql); return $stm->execute(); header('Location: cadFuncoes.php'); die(); } catch (ErrorException $ex) { echo "Erro : ".$ex->getMessage(); } } Veja, o insert eh executado com uma instancia da classe no formulario...ele executa direito, salva no banco, mas nao direciona. Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Julho 19, 2017 Você está dando o retorno no execute. Por isso não redireciona. Retire o header e o die daí. Coloque o redirecionamento após a chamada da função. $var->insert(); header(); Compartilhar este post Link para o post Compartilhar em outros sites
Ana Gauna 45 Denunciar post Postado Julho 19, 2017 1 hora atrás, PAULO ROBERTO NOGUEIRA disse: $sql = "INSERT INTO $this->tabela (nva_nome, nva_inlcuir @PAULO ROBERTO NOGUEIRA digitou errado o incluir, não seria nva_incluir ? Compartilhar este post Link para o post Compartilhar em outros sites
PAULO ROBERTO NOGUEIRA 1 Denunciar post Postado Julho 19, 2017 Esse nome esta errado mas foi o cara que fez o banco que digitou errado. O simulado é dividir o pessoal em equipes e cada uma fica com uma parte, o "DBA" digitou errado o campo...vou mudar qdo pegar o projeto todo. Obrigado. Sobre o header agora ele retorna um erro: Warning: Cannot modify header information - headers already sent by (output started at C:\wamp64\www\b2ava.com.br\menu.php:48) in C:\wamp64\www\b2ava.com.br\cadFuncoes.php on line 53 Compartilhar este post Link para o post Compartilhar em outros sites
PAULO ROBERTO NOGUEIRA 1 Denunciar post Postado Julho 19, 2017 Olha a gambiarra pra dar certo: echo "<script>"; echo "location.href='cadFuncoes.php' "; echo "</script>"; um script js que redireciona para a propria pagina....ate resolver de outro jeito vai ficar assim se você puder me ajudar ainda eu agradeço, vou continuar o projeto Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Julho 19, 2017 Coloque o header no return... //Gravando o log DB::setLogger(new TLoggerTXT('./tmp/arquivo.txt'));//grava o rquivo de log DB::log("Inserindo registro"); DB::log($sql); $stm->execute(); return header('Location: pagina.php'); Compartilhar este post Link para o post Compartilhar em outros sites
PAULO ROBERTO NOGUEIRA 1 Denunciar post Postado Julho 20, 2017 mesmo erro Warning: Cannot modify header information - headers already sent by Compartilhar este post Link para o post Compartilhar em outros sites
Thalisson Marthinele 19 Denunciar post Postado Julho 20, 2017 Ja Tive problema com o Header da mesma forma, minha solução foi fazer com JAVASCRIPT. Coloque apos o execute do PDP echo '<script> location.href="pagina.php" </script>'; Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Julho 20, 2017 O erro de hedaer ocorre provavelmente porque você possui alguma saída no mesmo script antes do header. Compartilhar este post Link para o post Compartilhar em outros sites
PAULO ROBERTO NOGUEIRA 1 Denunciar post Postado Julho 20, 2017 Foi o que eu fiz Thalisson Marthinele. Ta funcionando desse forma... Compartilhar este post Link para o post Compartilhar em outros sites
PAULO ROBERTO NOGUEIRA 1 Denunciar post Postado Julho 25, 2017 Pessoal...continuando rs...Tenho um função javascript que pega os dados do registro e encaminha para um form modal para que o usuario possa alterar as informacoes, basicamente ele pega os dados da linha da tabela, chama a funcao passando esses dados nos parametros. Bom dai a funcao encaminha esses dados para o form do modal usando o ID de cada componente. Acontece que se o componente for do tipo text, blz, ele encaminha e o modal aparece preenchido, mas eu tenho campos do tipo radio e enviando o valor ao componente do tipo radio ele nao aceita, simplesmente aparece sem estar checked...o que eu preciso eh que quando eu clicar para alterar a funcao encaminhe ao form do modal todos os dados completos preenchidos para que o usuario altere. o que for text com seus respectivo valor, o que for radio marcado o que estiver marcado. Entenderam? Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Julho 26, 2017 Crie um novo tópico para sua dúvida, na área de JavaScript. Você precisa fazer a condição IF no seu JS para os valores e então marcar o rádio ou checkbox. Compartilhar este post Link para o post Compartilhar em outros sites
PAULO ROBERTO NOGUEIRA 1 Denunciar post Postado Julho 26, 2017 Desculpe..vou criar sim na parte de js Compartilhar este post Link para o post Compartilhar em outros sites