Remazela 6 Denunciar post Postado Janeiro 4, 2017 Caros amigos Por favor me perdoa, ma humildemente peço ajuda, pois já fiz várias pesquisas e vários teste no meu código, mas infelizmente não tive sucesso, embora acredito que este tema deva ser muitas dúvidas de programadores (inexperiente). Após clicar no Botão Cadastrar, quero recuperar o ID para a próxima Página onde o usuário irá acrescentar ou alterar informação, no banco Observação: tentei usar a função lastInsertId(), mas não consigo recuperar o ID para a próxima página. Meu código Fonte: <form name="frm_mens" id="frm_mens" action="" enctype="multipart/form-data" method="post" > <button name="button" onclick="return confirm('Deseja Criar uma Nova Mensagem?');">Cadastrar</button> </form> <?php //Condição de execução if(isset($_POST['button'])){ $mensDtInicio = date('Y-m-d H:m:s'); $mensDtFim = date('Y-m-d H:m:s'); $mensStatus = '1'; $sql = 'INSERT INTO mensagem (mensDtInicio, mensDtFim, clienteId, mensStatus) VALUES (:mensDtInicio, :mensDtFim, :clienteId, :mensStatus)'; try{ $query = $conecta->prepare($sql); $query->bindValue(':mensDtInicio',$mensDtInicio,PDO::PARAM_STR); $query->bindValue(':mensDtFim',$mensDtFim,PDO::PARAM_STR); $query->bindValue(':clienteId',$clienteId,PDO::PARAM_STR); $query->bindValue(':mensStatus',$mensStatus,PDO::PARAM_STR); $query->execute(); echo '<div class="comunicado">Mensagem Cadastrada com Sucesso!</div><!--aviso-->'; //Redirecionando echo '<meta http-equiv="refresh" content="2, URL=painel.php?exe=mensagem-cliente/mens_nova" />'; //Aqui tento recuperar o ID e transportar para a página mens_nova $mensId = $conecta->lastInsertId(); } catch(PDOexception $e) { echo 'Erro ao Cadastrar a Mensagem '.$e->getMessage(); } } ?> Grato, Renato Compartilhar este post Link para o post Compartilhar em outros sites
Visitante Denunciar post Postado Janeiro 4, 2017 Acho que você deve passá-lo como parâmetro no redirecionamento //movi para cima esta linha $mensId = $conecta->lastInsertId(); //Redirecionando echo '<meta http-equiv="refresh" content="2, URL=painel.php?exe=mensagem-cliente/mens_nova&id_mensagem='.$mensId.'" />'; Na outra página você recupera $OIdRecuperado = $_GET['id_mensagem']; Compartilhar este post Link para o post Compartilhar em outros sites
Remazela 6 Denunciar post Postado Janeiro 4, 2017 Acho que você deve passá-lo como parâmetro no redirecionamento //movi para cima esta linha $mensId = $conecta->lastInsertId(); //Redirecionando echo '<meta http-equiv="refresh" content="2, URL=painel.php?exe=mensagem-cliente/mens_nova&id_mensagem='.$mensId.'" />'; Na outra página você recupera $OIdRecuperado = $_GET['id_mensagem']; Caro amigo Fiz conforme sua orientação, mas infelizmente não recupera o ID. No Banco é Gravado, mas para a próxima página, o ID não Passa. Grato, Renato Compartilhar este post Link para o post Compartilhar em outros sites
Maykel-ctba 233 Denunciar post Postado Janeiro 4, 2017 @Remazela, você debugou seu código antes do envio? Veja se o $mensId está indo em branco ou não. Compartilhar este post Link para o post Compartilhar em outros sites
Remazela 6 Denunciar post Postado Janeiro 4, 2017 @Remazela, você debugou seu código antes do envio? Veja se o $mensId está indo em branco ou não. Caro amigo Os campos abaixo são gravados $query = $conecta->prepare($sql); $query->bindValue(':mensDtInicio',$mensDtInicio,PDO::PARAM_STR); $query->bindValue(':mensDtFim',$mensDtFim,PDO::PARAM_STR); $query->bindValue(':clienteId',$clienteId,PDO::PARAM_STR); $query->bindValue(':mensStatus',$mensStatus,PDO::PARAM_STR); $query->execute(); Debuguei, somente na próxima página não consigo recuperar o ID. Testei várias vezes, grava mas não recupero. Após o comando: $mensId = $conecta->lastInsertId(); Coloquei: echo '<div class="comunicado">'.$mensId.'</div><!--aviso-->'; //Mostra os ID gravados Como faço para recuperar na próxima página, usei $_GET e $_POST nas não tive sucesso. Grato, Renato Compartilhar este post Link para o post Compartilhar em outros sites
Maykel-ctba 233 Denunciar post Postado Janeiro 4, 2017 Neste echo, o $mensId é mostrado certinho? Compartilhar este post Link para o post Compartilhar em outros sites
Remazela 6 Denunciar post Postado Janeiro 4, 2017 Neste echo, o $mensId é mostrado certinho? Caro amigo, É mostrado corretamente. Meu código que grava está assim: <form name="frm_mens" id="frm_mens" action="" enctype="multipart/form-data" method="post" > <button name="button" onclick="return confirm('Deseja Criar uma Nova Mensagem?');">Cadastrar</button> </form> <?php //Condição de execução if(isset($_POST['button'])){ $mensDtInicio = date('Y-m-d H:m:s'); $mensDtFim = date('Y-m-d H:m:s'); $mensStatus = '1'; $sql = 'INSERT INTO mensagem (mensDtInicio, mensDtFim, clienteId, mensStatus) VALUES (:mensDtInicio, :mensDtFim, :clienteId, :mensStatus)'; try{ $query = $conecta->prepare($sql); $query->bindValue(':mensDtInicio',$mensDtInicio,PDO::PARAM_STR); $query->bindValue(':mensDtFim',$mensDtFim,PDO::PARAM_STR); $query->bindValue(':clienteId',$clienteId,PDO::PARAM_STR); $query->bindValue(':mensStatus',$mensStatus,PDO::PARAM_STR); $query->execute(); echo '<div class="comunicado">Mensagem Cadastrada com Sucesso!</div><!--aviso-->'; //Aqui tento recuperar o ID e transportar para a página mens_nova $mensId = $conecta->lastInsertId(); //Redirecionando echo '<meta http-equiv="refresh" content="2, URL=painel.php?exe=mensagem-cliente/mens_nova&mensNum='.$mensId.'" />'; //na URL mostra certinho, cada ID gravado. } catch(PDOexception $e) { echo 'Erro ao Cadastrar a Mensagem '.$e->getMessage(); } } ?> No mens_nova.php ------ está assim: <div id="content"> <?php include_once("menu.php");?> <div id="content_conteudo"> <?php //Variável Passada da Página Anterior $mensIdGet = isset($_GET['mensId']) ? $_GET['mensId'] : false; $mensId = isset($_POST['mensId']) ? $_POST['mensId'] : $mensIdGet; if(isset($_POST['executar']) && $_POST['executar'] == 'Avançar'){ $mensNumero = $mensId.'.'.$clienteId; $mensObserva = strip_tags(trim($_POST['mensObserva'])); $desc_categ = strip_tags(trim($_POST['desc_categ'])); //Alterando o Banco de Dados - para incluir o dado $sql_M = 'UPDATE mensagem SET mensObserva = :mensObserva, desc_categ = :desc_categ WHERE mensId = :mensId'; try{ //query de execução $query_M = $conecta->prepare($sql_M); $query_M->bindValue(':mensObserva',$mensObserva,PDO::PARAM_STR); $query_M->bindValue(':desc_categ',$desc_categ,PDO::PARAM_STR); $query_M->bindValue(':mensId',$mensId,PDO::PARAM_STR); $query_M->execute(); echo '<br/>'; echo '<div class="comunicado">Mensagem Criada com Sucesso!</div><!--aviso-->'; echo '<br/>'; echo '<br/>'; //Redirecionando echo '<meta http-equiv="refresh" content="2, URL=painel.php?exe=mensagem-cliente/mensagem" />'; }catch(PDOexception $error_updateM){ echo 'Erro ao atualizar a Mensagem'.$error_updateM->getMessage(); } } ?> <form name="cot_2" id="cot_2" action="" method="post" enctype="multipart/form-data"> <p class="p_esp"> <label> <span>Observação:</span><br/> <textarea name="mensObserva" rows="5" cols="100"></textarea> </label> </p> <p class="p_esp"> <label> <span>Categoria...:</span> <select name="desc_categ"> <option>Selecione</option> <?php $cnx = mysql_connect("localhost", "root", ""); mysql_select_db("bd_mens", $cnx); $resultado = mysql_query("SELECT * FROM categoria ORDER BY desc_categ ASC "); while($categ = mysql_fetch_assoc($resultado)){ ?> <option value="<?php echo $categ["desc_categ"]; ?>"><?php echo $categ["desc_categ"];?></option> <?php } ?> </select> </label> </p> <p class="p_esp"> <input type="hidden" name="mensId" value="<?php echo $mensId;?>" /> <input class="btn_novo" type="submit" name="executar" id="executar" value="Avançar" /> </p> </form> </div><!--conteudo--> </div><!--contet--> <?php include_once("footer.php");?> Sinceramente, não entendo porque não consigo recuperar o ID. Grato, Renato Compartilhar este post Link para o post Compartilhar em outros sites
Maykel-ctba 233 Denunciar post Postado Janeiro 4, 2017 Cara, na página que grava, você está passando o parâmetro como mensNum. Na página que recupera, está tentando recuperar usando mensId. Acho que você trocou as nomenclaturas, e aí não está conseguindo recuperar. Compartilhar este post Link para o post Compartilhar em outros sites
Remazela 6 Denunciar post Postado Janeiro 4, 2017 Cara, na página que grava, você está passando o parâmetro como mensNum. Na página que recupera, está tentando recuperar usando mensId. Acho que você trocou as nomenclaturas, e aí não está conseguindo recuperar. Caro amigo Deus o abençoa, deu certo. Valeu, Renato Compartilhar este post Link para o post Compartilhar em outros sites
Maykel-ctba 233 Denunciar post Postado Janeiro 4, 2017 Que bom que funcionou @Remazela. Como recompensa, poderia marcar a minha resposta como "Respondido" e me dar um ponto? Compartilhar este post Link para o post Compartilhar em outros sites