como fazer um link pegar o ID do usuário logodo?
19/08/2014
0
em um site tenho 3 usuários o André, Jonathan e Roberto e todos os dados deles estão salvos em um banco de dados mysql, dados como email, senha, usuário e nome.
eu consigo alterar os dados deles com a seguinte estrutura.
listar.php
<?php include "conectar.php"; // Chama a conexao com o banco de dados $buscar = mysql_query("SELECT * FROM usuarios")or die(mysql_error()); if(mysql_num_rows($buscar) > 0){ while($ver = mysql_fetch_array($buscar)) { echo '<a href="settings.php?id='.$ver[0].'">'.$ver[1].'</a>'; } }else{ echo 'Sem dados cadastrais'; } ?>
settings.php
<?php include "conectar.php"; // Chama a conexao com o banco de dados if($_SERVER['REQUEST_METHOD']=='GET'){ isset($_GET['id']) ? $busca=mysql_query("SELECT * FROM usuarios WHERE id='".$_GET['id']."'") : die(mysql_error()); $dados = mysql_fetch_array($busca); }elseif($_SERVER['REQUEST_METHOD']=='POST'){ $id = isset($_POST['idreg']) ? $_POST['idreg'] : 0; $nome = isset($_POST['nome']) ? $_POST['nome'] : ''; $usuario = isset($_POST['usuario']) ? $_POST['usuario'] : false; $email = isset($_POST['email']) ? $_POST['email'] : ''; $senha = isset($_POST['senha']) ? $_POST['senha'] : ''; $atualizar = mysql_query("UPDATE usuarios s SET nome='$nome',usuario='$usuario',email='$email',email='$senha' WHERE id='$id'")or die(mysql_error()); ($atualizar) ? print 'Dados alterados com sucesso' : die('Falha ao alterar dados'); } ?> <form name="teste2" id="teste2" action="" method="POST"> <input type="hidden" name="idreg" id="idreg" value="<?php echo $dados['id']; ?>"> Nome: <input type="text" name="nome" value="<?php echo $dados['nome']; ?>" /> <br /> usuario: <input type="text" name="usuario" value="<?php echo $dados['usuario']; ?>" /> <br /> email: <input type="text" name="email" value="<?php echo $dados['email']; ?>" /> <br /> Senha: <input type="password" name="senha" value="<?php echo $dados['senha']; ?>" /> <br /> <input type="submit" name="ok" value="Alterar" /> </form>
o listar.php faz uma busca no banco de dados e me da um retorno com os usuários que estão cadastrados no sistema, quando escolho os usuários ele me redireciona para o settings.php já com o id no link e assim eu consigo alterar os dados sem precisar alterar o banco de dados!
mais quero inovar meu sistema, coloquei um link no painel dos meus usuários denominado 'configurações' e quero que quando eles clicarem abra um link com os dados cadastrais deles para que eles possam fazer as alterações desejadas sozinhos! essa pagina seria a seguinte.
alterar.php
<form name="teste2" id="teste2" action="settings.php" method="POST"> <input type="hidden" name="idreg" id="idreg" value="<?php echo $dados['id']; ?>"> Nome: <input type="text" name="nome" value="<?php echo $dados['nome']; ?>" /> <br /> usuario: <input type="text" name="usuario" value="<?php echo $dados['usuario']; ?>" /> <br /> email: <input type="text" name="email" value="<?php echo $dados['email']; ?>" /> <br /> Senha: <input type="password" name="senha" value="<?php echo $dados['senha']; ?>" /> <br /> <input type="submit" name="ok" value="Alterar" />
mais não funciona! alguma dica?
Cleyton Caetano
Posts
19/08/2014
Cleyton Caetano
então, no caso eu to chamando o alterar php da minha barra de ferramentas na interface do usuário!
ela é feita individualmente como bar_top.php e é incluída na index com um include. segue os códigos.
bar_top.php
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <link rel="stylesheet" type="text/css" href="style/settings.css" /> <?php echo $_SESSION['usuarioNome']; echo " |"; echo " <a href='index.php'>Página Inicial </a>"; ?> <!-- botão setings --> <script> function abrefecha(obj){ var el = document.getElementById(obj); if(el.style.display != "block"){ el.style.display = "block"; }else{ el.style.display = "none"; } } </script> <a href="#" onclick="abrefecha('divum');"><img src="image/bar_top_button_settings.png" title="Settings" /> </a> <div class="settings" id="divum" style="display:none;"> <a href="alterar.php?id=<?php echo $dados['id']; ?>" title="Sair">Minha Conta</a> <p><a href="#" title="Sair">Configurações</a><p> <p><a href="logout.php" title="Sair">Sair</a></p> </div> <!-- final do botão setings -->
19/08/2014
Ronaldo Lanhellas
<a href="alterar.php?id=<?php echo $dados['id']; ?>" title="Sair">Minha Conta</a>
Mas em nenhum momento eu vi você fazendo um
$dados['id'] = id_do_usuario;
19/08/2014
Cleyton Caetano
<a href="alterar.php?id=<?php echo $dados['id']; ?>" title="Sair">Minha Conta</a>
Mas em nenhum momento eu vi você fazendo um
$dados['id'] = id_do_usuario;
desculpe mas não entendi! como ficaria no meu código?
20/08/2014
Cleyton Caetano
<a href="alterar.php?id=<?php echo $_SESSION['usuarioID']; ?>" title="Sair">Minha Conta</a>
o que fez funcionar mesmo foi esta função PHP.
<?php echo $_SESSION['usuarioID']; ?>
ela pega o ID do usuário que está com a seção aberta no momento! e está funcionando normal agora! obrigada pela ajuda ai Ronaldo Lanhellas, sua dicas foram muito importantes para o funcionamento do meu código! obrigada mesmo!
20/08/2014
Ronaldo Lanhellas
<a href="alterar.php?id=<?php echo $_SESSION['usuarioID']; ?>" title="Sair">Minha Conta</a>
o que fez funcionar mesmo foi esta função PHP.
<?php echo $_SESSION['usuarioID']; ?>
ela pega o ID do usuário que está com a seção aberta no momento! e está funcionando normal agora! obrigada pela ajuda ai Ronaldo Lanhellas, sua dicas foram muito importantes para o funcionamento do meu código! obrigada mesmo!
Mas este era o ponto, você tinha que ver de onde pegar o id do usuário e passar para o link do alterar.php, você estava tentando pegar do $dados, só que lá não tinha nada. ótimo que você conseguiu.
20/08/2014
Cleyton Caetano
<a href="alterar.php?id=<?php echo $_SESSION['usuarioID']; ?>" title="Sair">Minha Conta</a>
o que fez funcionar mesmo foi esta função PHP.
<?php echo $_SESSION['usuarioID']; ?>
ela pega o ID do usuário que está com a seção aberta no momento! e está funcionando normal agora! obrigada pela ajuda ai Ronaldo Lanhellas, sua dicas foram muito importantes para o funcionamento do meu código! obrigada mesmo!
Mas este era o ponto, você tinha que ver de onde pegar o id do usuário e passar para o link do alterar.php, você estava tentando pegar do $dados, só que lá não tinha nada. ótimo que você conseguiu.
poisé, agora minha briga é pra pegar o sobrenome, que está tudo certo, do mesmo jeito que o ID e o Nome e não consegue pegar para imprimir! será se falta alguma coisa?
[url:descricao=LINK DO TÓPICO]https://www.devmedia.com.br/forum/funcao-php-nao-pega-o-sobrenome-no-banco-de-dados/489536[/url]
Clique aqui para fazer login e interagir na Comunidade :)