Ir para conteúdo

POWERED BY:

Arquivado

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

vfmartins

Parametro "vazio"

Recommended Posts

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

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

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

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

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

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

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

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

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

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

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

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

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

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

×

Informação importante

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