Ir para conteúdo

Arquivado

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

phpbrasil

editando registros no banco

Recommended Posts

Pessoal,

Bom dia

 

Estou tentando editar alguns registros no banco, mas no meu esta dando erro nas linhas abaixo:

 

$id=$_GET['idusuario'];
e no while.
Nao consigo achar o erro....poderiam me ajudaR?
Chamada para inserir os campos com os dados:
<?php
include('conecta_mysql.php'); 


$id=$_GET['idusuario'];
$sql = "SELECT * FROM usuario WHERE idusuario=$id";
$query = mysql_query($sql);

while($linha = mysql_fetch_array($query)){
   
    $matricula = $linha['matricula'];
	$nome = $linha['nome'];
	$tipo = $linha['tipo'];
	$curso = $linha['curso'];
	$periodo = $linha['periodo'];
	$tipo = $linha['tipo'];
	$email = $linha['email'];
	$login = $linha['login'];
	$senha = $linha['senha'];
	
 }





?>

Formulario para poder editar:

<html>
<head>



<title> Novo Usuário </title>

</head>


<body>


<form action="salvaraltuser.php" name="fmlr" method="post" target="_myframe" class="teste1" onSubmit="return valida();">
<br>
<br>
<h1 style="margin-left:40px">Cadastrar Usuário</h1>
  <hr width=120%  noshade>
  <br>
 
  
<p style="margin-left:40px"></p>

  <strong style="margin-left:40px">Matrícula<font color="red">*</font>:</strong> <input type="text" name="mat" id="mat" size="14" maxlength="14" onkeyup="maskMAT(mat)" style="margin-left: 15px;" value="<?php echo $matricula;   ?>"  >
  
<br>
<br>
  
<strong style="margin-left:40px">Nome<font color="red">*</font>:</strong>  <input type="text" name="nome" size="100" maxlength="100" style="margin-left:42px;" value="<?php echo $nome;   ?>">
<br>
<br>
  
  <strong style="margin-left:40px">Tipo de Usuário<font color="red">*</font>:</strong><br> <br>
 
<input type="radio" name="option" value="Aluno" style="margin-left: 40px;" value="<?php echo $tipo;   ?>">Aluno<br>
<input type="radio" name="option" value="Professor" style="margin-left: 40px;" value="<?php echo $tipo;   ?>">Professor<br>
<input type="radio" name="option" value="Funcionário" style="margin-left: 40px;" value="<?php echo $tipo;   ?>"> Funcionário<br><br>
   
  
  
  
  <strong style="margin-left:40px">Curso:</strong><br><font color="red" style="margin-left:40px">Escolha somente se for aluno</font><br> <select name="curso" style="margin-left: 40px;" value="<?php echo $curso;   ?>">
  
    <option value="0"></option>
    <option value="ADM">Administração Pública</option>
    <option value="COMP">Ciência da Computação</option>
    <option value="CBIO">Ciências Biológicas</option>
    <option value="DRT">Direito</option>
    <option value="ENGC">Engenharia Civil</option>
    <option value="ENGP">Engenharia de Produção</option>
    <option value="FARM">Farmácia</option>
    <option value="FIS">Física</option>
    <option value="MAT">Matemática</option>
    <option value="TADS">Tecnologia em Análise e Desenvolvimento de Sistemas</option>
    <option value="TECBIO">Tecnologia em Biotecnologia </option>
    <option value="TECCTNVL">Tecnologia em Construção Naval</option>
    <option value="TECPOL">Tecnologia em Polímeros</option>
    <option value="TECPROMET">Tecnologia em Processos Metalúrgicos</option>
    <option value="TECPFAR">Tecnologia em Produção de Fármacos</option>
    <option value="TUR">Turismo</option>
      
   
</select> 
<br>
<br>
  <strong style="margin-left:40px">Período:</strong><br><font color="red" style="margin-left:40px">Escolha somente se for aluno</font><br> <select name="periodo" style="margin-left: 40px;" value="<?php echo $periodo;   ?>">
     <option value="0"></option>
    <option value="1">1º</option>
    <option value="2">2º</option>
    <option value="3">3º</option>
    <option value="4">4º</option>
    <option value="5">5º</option>
    <option value="6">6º</option>
    <option value="7">7º</option>
    <option value="8">8º</option>
    <option value="9">9º</option>
    <option value="10">10º</option>     
   
</select> 

  
  <br>
  <br>
  <br>
<br>
  <h1 style="margin-left:40px">Endereço</h1>
  <hr width=120% noshade>
  <br>
  
<strong style="margin-left:40px">Endereço<font color="red">*</font>:</strong>  <input type="text" name="end" size="40" maxlength="40" style="margin-left: 22px;">
<br>
<br>
<strong style="margin-left:40px">Complemento:</strong>  <input type="text" name="comp" size="80" maxlength="80" style="margin-left: px;">
<br>
<br>
<strong style="margin-left:40px">Bairro<font color="red">*</font>: <input type="text" name="bairro" size="25" maxlength="25" style="margin-left: 42px;">
<br>
<br>
<strong style="margin-left:40px">Cidade<font color="red">*</font>: <input type="text" name="cid" size="50" maxlength="50" style="margin-left: 38px;">
<br>
<br>
<strong style="margin-left:40px">CEP<font color="red">*</font>: <input type="text" name="cep" size="100" maxlength="100" style="margin-left: 55px;">
 <br>
  <br>
  <br>
<br>
  <h1 style="margin-left:40px">Contatos</h1>
  <hr width=120% noshade>
  <br>
  
  
<strong style="margin-left:40px">Telefone Residencial<font color="red">*</font>: <input type="text" name="telres" size="13" maxlength="13" style="margin-left: 25px;" onblur="telefone(this.form);">
<br>
<br>
<strong style="margin-left:40px">Telefone Celular<font color="red">*</font>: <input type="text" name="telcel" size="12" maxlength="12" style="margin-left: 53px;" >
<br>
<br>
<strong style="margin-left:40px">Email<font color="red">*</font>: <input type="text" name="email" size="50" maxlength="50" style="margin-left: 128px;" value="<?php echo $email;   ?>">
<br>
<br>
<br>
<br>

  <h1 style="margin-left:40px">Dados para Acesso</h1>
  <hr width=120% noshade>
  <br>
<strong style="margin-left:40px">Login<font color="red">*</font>: <input type="text" name="log" id="log" size="12" maxlength="12" style="margin-left: 130px;" value="<?php echo $login;   ?>">
<br>
<br>
<strong style="margin-left:40px">Senha<font color="red">*</font>: <input type="password" name="passw" size="32" maxlength="32" style="margin-left: 128px;" value="<?php echo $senha;   ?>">
<br>
<br>
<br>
<br>
<br>
<br>
<center>
  
       <input type="submit" value="Cadastrar">   
       <input type="reset" value="Limpar Dados">
</center>
</form>
</body>
</html>

Os campos que nao estao com a tag value, são de outras tabelas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cole o erro que foi exibido.

 

Faz o tratamento do id:

$id= (int) $_GET['idusuario']; // converte para número inteiro
Aí só roda a consulta se o valor de $id for maior que zero:
if ( 0 < $id ){
  $sql = "SELECT * FROM usuario WHERE idusuario=$id";
  $query = mysql_query($sql);
  
  while($linha = mysql_fetch_array($query)){
  
    $matricula = $linha['matricula'];
    $nome = $linha['nome'];
    $tipo = $linha['tipo'];
    $curso = $linha['curso'];
    $periodo = $linha['periodo'];
    $tipo = $linha['tipo'];
    $email = $linha['email'];
    $login = $linha['login'];
    $senha = $linha['senha'];
    
  }
}
else { echo 'Id inválido!'; exit; }

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Cole o erro que foi exibido.

 

Faz o tratamento do id:

$id= (int) $_GET['idusuario']; // converte para número inteiro
Aí só roda a consulta se o valor de $id for maior que zero:
if ( 0 < $id ){
  $sql = "SELECT * FROM usuario WHERE idusuario=$id";
  $query = mysql_query($sql);
  
  while($linha = mysql_fetch_array($query)){
  
    $matricula = $linha['matricula'];
    $nome = $linha['nome'];
    $tipo = $linha['tipo'];
    $curso = $linha['curso'];
    $periodo = $linha['periodo'];
    $tipo = $linha['tipo'];
    $email = $linha['email'];
    $login = $linha['login'];
    $senha = $linha['senha'];
    
  }
}
else { echo 'Id inválido!'; exit; }

 

lokaodomau, fiz o que voce pediu e aparece como Id invalido....e fala que existe um erro na linha 3 que é a linha :$vid= (int)$_GET['idusuario'];

 

 

 

mudei algumas coisa...

Quando eu coloco esse codigo pra rodar:

<?php
include('conecta_mysql.php'); 
$vid=$_GET['idusuario'];

$sql = "SELECT * FROM usuario WHERE idusuario=$vid";
$query = mysql_query($sql);
if($query == false){
  die("Erro de seleção de dados");
}else{
  $linha = mysql_fetch_array($query);

}


?>

Aparece o mesmo erro na linha 3: $vid=$_GET['idusuario'];

 

Agora, se eu rodar esse codigo(sem o WHERE):

<?php
include('conecta_mysql.php'); 
$vid=$_GET['idusuario'];

$sql = "SELECT * FROM usuario";
$query = mysql_query($sql);
if($query == false){
  die("Erro de seleção de dados");
}else{
  $linha = mysql_fetch_array($query);

}


?>

Ele continua dando erro na linha 3 : $vid=$_GET['idusuario'];, mas insere os dados do ADM que no caso foi o primeiro usuario que eu inseri dentro do banco....

 

 

Veja que no botao editar, eu fiz o seguinte:

<a href="editar.php?id=<?php echo $linha['idusuario']; ?>"><img src="img/editar4.png"  style="left:1050px;" /></a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cole o erro, talvez exista algum detalhe a mais...

O código PHP é executado antes ou depois do formulário com method="post" ser enviado?

O erro que aparece os dados do ADM é:

 

Notice: Undefined index: idusuario in C:\Program Files\VertrigoServ\www\Biblioteca\editar.php on line 3 Call Stack # Time Memory Function Location 1 0.0020 346736 {main}( ) ..\editar.php:0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você não acessar a página como [inline]pagina.php?idusuario=9999[/inline] você vai receber sempre um erro 'undefined index'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você não acessar a página como [inline]pagina.php?idusuario=9999[/inline] você vai receber sempre um erro 'undefined index'

Desculpa Evandro, mas nao entendi...poderia me explicar melhor?

Desculpa Evandro, mas nao entendi...poderia me explicar melhor?

 

Se você não acessar a página como [inline]pagina.php?idusuario=9999[/inline] você vai receber sempre um erro 'undefined index'

Opaa Evandro acho que entendi sim...agora deu certo......eu estava colocando id=xxxxxx , sendo que deveria ser idusuario= xxxxxxx....

 

Muito obrigada..agora deu certo rs

A Minha duvida agora é a seguinte.....

 

dentro do formulario para editar os dados do usuario, eu preciso fazer consultas em mais de uma tabela....

como eu faria isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

todo esse código está salvo num arquivo chamado [inline]nomedoseuarquivo.php[/inline].

 

Esse código é acessível pelo navegador através de um endereço do tipo [inline]http://localhost/nomedoseuarquivo.php[/inline]

 

Se você acessar dessa forma, a superglobal [inline]$_GET[/inline] não terá valor nenhum. Os valores dela são populados com o que vier depois do sinal de [inline]?[/inline] no endereço.

 

Exemplo:

 

arquivo_exemplo.php

 

 

<?php echo $_GET['variavel'];

 

acesse: http://localhost/arquivo_exemplo.php

 

A resposta na tela será: Undefined index: variavel in /caminho/arquivo_exemplo.php

 

Agora, acesse http://localhost/arquivo_exemplo.php?variavel=valor

 

A resposta na tela será: valor

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.