phpbrasil 0 Denunciar post Postado Agosto 8, 2014 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
Marlon Pacheco 132 Denunciar post Postado Agosto 8, 2014 Como você está passando o id para o código? Compartilhar este post Link para o post Compartilhar em outros sites
phpbrasil 0 Denunciar post Postado Agosto 8, 2014 Como você está passando o id para o código? o id tem que entrar no while tambem? Compartilhar este post Link para o post Compartilhar em outros sites
lokaodomau 61 Denunciar post Postado Agosto 8, 2014 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
phpbrasil 0 Denunciar post Postado Agosto 8, 2014 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
lokaodomau 61 Denunciar post Postado Agosto 8, 2014 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? Compartilhar este post Link para o post Compartilhar em outros sites
phpbrasil 0 Denunciar post Postado Agosto 8, 2014 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
Evandro Oliveira 331 Denunciar post Postado Agosto 8, 2014 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
phpbrasil 0 Denunciar post Postado Agosto 8, 2014 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
Evandro Oliveira 331 Denunciar post Postado Agosto 8, 2014 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