Jump to content


Photo

Obter Variável Id Sem Form


  • Faça o login para participar
11 replies to this topic

#1 PaMCastanheirA

PaMCastanheirA

    Novato no fórum

  • Usuários
  • 24 posts
  • Sexo:Não informado

Posted 25/09/2008, 16:37

Olá... :P

Please, help me...

Tenho um arquivo chamado m_usuario.php onde contém um formulário chamado "dados" com os dados do cadastro do usuário e os botões
alterar e excluir cadastro. No formulário não tem o campo ID...

como no mesmo formulário tenho dois botões, utilizei:

<head>
<script language = 'JavaScript'>

	function alterar()
	{
		document.dados.action = 'alterar_usr.php?id=$id';
		document.forms.dados.submit();
	}
</script>
<script language = 'JavaScript'>
	
	function excluir()
	{
		document.dados.action = 'exluir_usr.php?id=$id';
		document.forms.dados.submit();
	}		
	
</script>
</head>

ao clicar no botão alterar, os dados do banco de dados serão alterados... pra isso tenho o arquivo "alterar_usr.php"..

Nele todas as variáveis do formulário do arquivo m_usuario.php foram obtidas através do $_POST porém no
meu formulário não tem um campo id mas preciso dele para alterar meus dados ("UPDATE bla bla bla bla WHERE id='$id'")...

Como eu faço??? é errado eu colocar ele na function alterar()
<script language = 'JavaScript'>

	function alterar()
	{
		document.dados.action = 'alterar_usr.php?id=$id';
		document.forms.dados.submit();
	}
</script>

tentei fazer isso mas os dados não estão sendo alterados.. =(

Obrigada!!!!

Abraços

Edição feita por: PaMCastanheirA, 25/09/2008, 16:39.


#2 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 25/09/2008, 16:58

você está pegando essa $id daonde? de algum select? de algum parâmetro na URL (querystring)?

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png


#3 ffmm

ffmm

    Veterano

  • Usuários
  • 1224 posts
  • Sexo:Não informado

Posted 25/09/2008, 18:11

Se você mandar o ID através da URL como você está fazendo (mudando o action do form), você terá que pegar o ID usando $_GET["id"].

Uma alternativa é inserir um campo hidden no formulário:
<input type="hidden" name="id" value="$id" />

Aí você poderá pegar o ID com $_POST["id"].

#4 PaMCastanheirA

PaMCastanheirA

    Novato no fórum

  • Usuários
  • 24 posts
  • Sexo:Não informado

Posted 26/09/2008, 08:32

você está pegando essa $id daonde? de algum select? de algum parâmetro na URL (querystring)?



isso... de um select...

$sql = "SELECT * FROM cad_usr WHERE id = $id";
$resultado = mysql_query($sql) or die ("N&atildeo Foi Poss&iacutevel Acessar os Dados");

while ($linha = mysql_fetch_array($resultado)){
	$id = $linha['id'];
	$nome = $linha['nome'];
	$email = $linha['email'];
	$sexo = $linha['sexo'];
	$dt_nasc = $linha['dt_nasc'];
	$rg = $linha['rg'];
	$cpf = $linha['cpf'];
	$endereco = $linha['endereco'];
	$numero = $linha['numero'];
	$bairro = $linha['bairro'];
	$cidade = $linha['cidade'];
	$estado = $linha['estado'];
	$cep = $linha['cep'];
	$tel_res = $linha['tel_res'];
	$tel_cel = $linha['tel_cel'];

echo bla bla bla....
};


Se você mandar o ID através da URL como você está fazendo (mudando o action do form), você terá que pegar o ID usando $_GET["id"].

Uma alternativa é inserir um campo hidden no formulário:
<input type="hidden" name="id" value="$id" />

Aí você poderá pegar o ID com $_POST["id"].


Mesmo utilizando $_GET['id'] não funcionou... mas q zica.. rsrs...
Já tentei tbm o hidden... Não sei q estou fazendo errado.. afff..

Mto Obrigada pela ajuda.. =)

#5 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 26/09/2008, 08:59

já tentou imprimir essa ID com um echo pra ver se retorna algo? (y)

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png


#6 PaMCastanheirA

PaMCastanheirA

    Novato no fórum

  • Usuários
  • 24 posts
  • Sexo:Não informado

Posted 26/09/2008, 09:02

O erro não está na id, mas sim no código de alteração... o problema é q não sei bolhúfas o q estou errando...
O código é o seguinte:

<?php

include "conexao.php";

$id = $_GET['id'];
$nome = $_POST['nome'];
$email = $_POST['email'];
$sexo = $_POST['sexo'];
$dt_nasc = $_POST['dt_nasc'];
$rg = $_POST['rg'];
$cpf = $_POST['cpf'];
$endereco = $_POST['endereco'];
$numero = $_POST['numero'];
$bairro = $_POST['bairro'];
$cidade = $_POST['cidade'];
$estado = $_POST['estado'];
$cep = $_POST['cep'];
$tel_res = $_POST['tel_res'];
$tel_cel = $_POST['tel_cel'];

$sql = mysql_query("UPDATE cad_usr SET nome='$nome', email='$email', sexo='$sexo' dt_nasc='$dt_nasc', rg='$rg',
		cpf='$cpf', endereco='$endereco', numero='$numero', bairro='$bairro', cidade='$cidade', estado='$estado'
		cep='$cep', tel_res='$tel_res', tel_cel='$tel_cel' WHERE id='$id'") or die (mysql_error());

e o erro que mostra é esse:

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'dt_nasc='', rg='4.679.854-9', cpf='236.487.956-45', endereco='Rua Francelino G' at line 1"

Thanks..

#7 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 26/09/2008, 09:04

vc pode mostrar quais dados vc tá tentando inserir?

deve ter algo errado com os dados, você não está tratando eles ou sei lá!

consulte caso for ajudar, str_replace!

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png


#8 PaMCastanheirA

PaMCastanheirA

    Novato no fórum

  • Usuários
  • 24 posts
  • Sexo:Não informado

Posted 26/09/2008, 09:17

Os dados são esses que estão aparecendo no erro..

Dt. Nascimento: 06/08/1975
Rg: 4.679.854-9
CPF: 236.487.956-45

No banco de dados estão como varchar
dt_nasc varchar(10)
rg varchar(11)
cpf varchar(14)

=/

Edição feita por: PaMCastanheirA, 26/09/2008, 09:18.


#9 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 26/09/2008, 09:34

tá faltando coisa... cadê o endereço? provavelmente é ele que está quebrando a consulta

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png


#10 PaMCastanheirA

PaMCastanheirA

    Novato no fórum

  • Usuários
  • 24 posts
  • Sexo:Não informado

Posted 26/09/2008, 09:42

maykel... mto obrigada pela atenção!!!
Consegui... ahiauhiuhia... não sei o que
eu fiz.. rsrsrs... mas funcionou...

Abraços =)

#11 chipis

chipis

    24 Horas

  • Usuários
  • 439 posts
  • Sexo:Masculino
  • Localidade:Blumenau - SC

Posted 26/09/2008, 09:48

Olá....

Utilize o codigo abaixo para dar um echo na query a ser executada para ver se esta pegando todos os campos,
depois poste ela aqui.
$id = $_GET['id'];
$nome = $_POST['nome'];
$email = $_POST['email'];
$sexo = $_POST['sexo'];
$dt_nasc = $_POST['dt_nasc'];
$rg = $_POST['rg'];
$cpf = $_POST['cpf'];
$endereco = $_POST['endereco'];
$numero = $_POST['numero'];
$bairro = $_POST['bairro'];
$cidade = $_POST['cidade'];
$estado = $_POST['estado'];
$cep = $_POST['cep'];
$tel_res = $_POST['tel_res'];
$tel_cel = $_POST['tel_cel'];

//echo aqui
echo $sql = "UPDATE cad_usr SET nome='$nome', email='$email', sexo='$sexo' dt_nasc='$dt_nasc', rg='$rg',
		cpf='$cpf', endereco='$endereco', numero='$numero', bairro='$bairro', cidade='$cidade', estado='$estado'
		cep='$cep', tel_res='$tel_res', tel_cel='$tel_cel' WHERE id='$id'";
		
$sql = mysql_query($sql) or die (mysql_error());

flws..

#12 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 26/09/2008, 10:00

eu acho que algum dado que você estava tentando cadastrar tava quebrando a consulta... com alguma aspa, vai saber!

(y)

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq