vfmartins 0 Denunciar post Postado Janeiro 31, 2008 boa tarde pessoal, eu tenho um arquivo chamado cadastra_pessoa.php onde eu cadastro informações de uma pessoa nele. após salvar ele redireciona para um outro arquivo chamado cadastra_dependente.php e eu passo por parametro o ID da pessoa. minha intensão é que ao salvar os dados do dependente ele envie tb ID da pessoa junto as informações do dependente, mas sempre que passo os valores pro INSERT o parametro do ID que vem la do cadastra_pessoa.php sempre está vazio. como eu devo fazer para resolver essa situação e conseguir vincular o dependente no cadastro da pessoa? agradeço mto a quem me ajudar! Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 31, 2008 Primeiramente, bem-vindo(a) ao iMasters! :D Você pode, em vez de passar o ID pela URL, passá-lo por sessão. Isso facilita o acesso ao valor e impede a alteração do ID da URL pelo visitante. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
vfmartins 0 Denunciar post Postado Janeiro 31, 2008 Primeiramente, bem-vindo(a) ao iMasters! :D Você pode, em vez de passar o ID pela URL, passá-lo por sessão. Isso facilita o acesso ao valor e impede a alteração do ID da URL pelo visitante. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Olá!! mto obrigado pela atenção e pela ajuda! Eu passei pela url msm.. vou tentar fazer por sessão.. mas como ficaria isso no php? obrigado novamente! Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 31, 2008 Toda página que usa sessão deve ter este comando no topo do script: session_start(); Para salvar na sessão: $_SESSION['nome'] = "Beraldo"; para resgatar o valor em outra página: echo $_SESSION['nome']; Mais em: http://www.php.net/session Compartilhar este post Link para o post Compartilhar em outros sites
vfmartins 0 Denunciar post Postado Fevereiro 1, 2008 Bom dia Beraldo, Eu tentei utilizar session mas o erro aconteceu novamente. Eu acredito que isso aconteceu quando eu dou submit no botão ai ele recarrega a página e perde o valor. Será que é isso? você sabe como eu faço para passar esse valor pro insert sem perde-lo? Muito obrigado Se mais alguém tb puder ajudar será bem vindo!! hehe Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 1, 2008 As variáveis da sessão estarão disponíveis em todos os scripts que usem sessào (que contenham session_start()). Você só irá perder o valor se não iniciar a sessão, excluir a variável com unset() ou destruir a sessão (com session_destroy()). Como você fez? Poste o script. Compartilhar este post Link para o post Compartilhar em outros sites
vfmartins 0 Denunciar post Postado Fevereiro 6, 2008 cara, agora eu estou conseguindo gravar o id usando session, mas o problema é que ele sempre grava o mesmo id, msm que eu clique em outro responsável.. segue o fonte: cadastra_pessoa.php <? while ($linha = mysql_fetch_array($query)) { session_start(); $_SESSION['pessoa'] = $linha['id_pessoa']; echo "{$linha['nome']}"; echo "<a href='cadastra_dependente.php'>Cadastrar Dependente</a><br>"; } ?> cadastra_dependente.php <? if (getenv("REQUEST_METHOD") == "POST") { session_start(); $nome = $_POST['nome']; $idade = $_POST['idade']; $responsavel = $_SESSION['pessoa']; if ($nome and $idade and $responsavel){ $query = "INSERT INTO dependente VALUES('00000','$nome','$responsavel')"; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 6, 2008 Aquele while está gerando vários blocos HTML, certo? Isso faz com que $_SESSION['pessoa'] contenha smepre o último ID retornado da consulta. Salve na sessào após selecionar o responsável desejado. Passe o ID do responsável pela URL e salve-o na sessão dentro de cadastra_dependente.php. OBS: Retire session_start() de dentro do while. Compartilhar este post Link para o post Compartilhar em outros sites
vfmartins 0 Denunciar post Postado Fevereiro 6, 2008 cara, eu fiz o q você falou, mas agora ele não grava nada igual estava antes... segue o código: cadastra_pessoa.php <? while ($linha = mysql_fetch_array($query)) { echo "{$linha['nome']}"; echo "<a href='cadastra_dependente.php?responsavel={$linha['id_pessoa']}'>Cadastrar Dependente</a><br>"; } ?> cadastra_dependente.php <? if (getenv("REQUEST_METHOD") == "POST") { session_start(); $_SESSION['pessoa'] = $reponsavel; $nome = $_POST['nome']; $idade = $_POST['idade']; $responsavel = $_SESSION['pessoa']; if ($nome and $idade and $responsavel){ $query = "INSERT INTO dependente VALUES('00000','$nome','$responsavel')"; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 6, 2008 use $_GET['responsavel'] em vez de $responsavel também prefira usar <?php em vez de <?. Compartilhar este post Link para o post Compartilhar em outros sites
williamhrs 0 Denunciar post Postado Fevereiro 6, 2008 o session_start deve ser a 1 linha da pagina Compartilhar este post Link para o post Compartilhar em outros sites
vfmartins 0 Denunciar post Postado Fevereiro 6, 2008 eu fiz o que você disse.... na url eu vejo q o $reponsavel tem valor, mas o pessoa continua vindo vazio.... segue o fonte: <? if (getenv("REQUEST_METHOD") == "POST") { session_start(); $_SESSION['pessoa'] = $_GET['reponsavel']; $nome = $_POST['nome']; $idade = $_POST['idade']; $responsavel = $_SESSION['pessoa']; if ($nome and $idade and $responsavel){ $query = "INSERT INTO dependente VALUES('00000','$nome','$responsavel')"; } } ?> já tentei colocar o session_start no começo tb... mas deu na mesma... Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 7, 2008 dê um echo em $_GET['reponsavel'] e veja qual é o valor retornado. é uma string vazia? Compartilhar este post Link para o post Compartilhar em outros sites
vfmartins 0 Denunciar post Postado Fevereiro 7, 2008 dê um echo em $_GET['reponsavel'] e veja qual é o valor retornado. é uma string vazia? isso msm!! ele não tras valor nenhum.. eu fiz dessas maneiras q descrevi acima, mas nenhuma funciona.. alguém sabe o q fazer?? Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Cobra 0 Denunciar post Postado Fevereiro 7, 2008 A minha vista, parece que o erro está ocorrendo no arquivo cadastra_pessoa.php. Vá nesse arquivo e verifique se $linha['id_pessoa'] está retornando algum valor. Se não estiver vindo nada, dê uma verificada no sql. Espero ter ajudado. Abraço Compartilhar este post Link para o post Compartilhar em outros sites
vfmartins 0 Denunciar post Postado Fevereiro 8, 2008 o cadastra_pessoa.php faz uma listagem de todos os cadastros e o $linha['id_pessoa'] está listando tudo certinho. o problema é que agora com essas correções la no cadastra.dependente.php ele só recebe um único id pra todos registro listados independente de qual eu clico... alguém sabe o q devo fazer para corrigir??? Compartilhar este post Link para o post Compartilhar em outros sites
vfmartins 0 Denunciar post Postado Fevereiro 11, 2008 Bom dia pessoal... E aí, alguém sabe me ajudar? Continuo no aguardo!! Mto obrigado!! Compartilhar este post Link para o post Compartilhar em outros sites
vfmartins 0 Denunciar post Postado Fevereiro 13, 2008 Pessoal... pra facilitar eu fiz o seguinte o valor do cod eu recebi pela URL como eu passo ele no POST?? segue meu codigo <?php if (getenv("REQUEST_METHOD") == "POST") { $descr = $_POST['descr']; $codigo = $cod; } ?> <form method="post" action="index.php"> <input type="text" name="descr"> <input type="submit" value="Salva"> </form> Compartilhar este post Link para o post Compartilhar em outros sites