como fazer um link pegar o ID do usuário logodo?

19/08/2014

0

PHP

olá, tenho o seguinte projeto!

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

Cleyton Caetano

Responder

Posts

19/08/2014

Cleyton Caetano

De onde você está chamando o alterar.php ? Poste o código da página que esta chamando o alterar.php.

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 -->
Responder

19/08/2014

Ronaldo Lanhellas

Pois é, ai está o problema. Você está usando o código abaixo:

<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;
Responder

19/08/2014

Cleyton Caetano

Pois é, ai está o problema. Você está usando o código abaixo:

<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?
Responder

20/08/2014

Cleyton Caetano

só pra notificar aqui, eu consegui resolver o problema, fiz algumas alterações e usei o link dessa forma:

<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!
Responder

20/08/2014

Ronaldo Lanhellas

só pra notificar aqui, eu consegui resolver o problema, fiz algumas alterações e usei o link dessa forma:

<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.
Responder

20/08/2014

Cleyton Caetano

só pra notificar aqui, eu consegui resolver o problema, fiz algumas alterações e usei o link dessa forma:

<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]
Responder

20/08/2014

Ronaldo Lanhellas

Já estou respondendo lá ! rsrsrs
Responder

20/08/2014

Cleyton Caetano

Já estou respondendo lá ! rsrsrs

rsrs vi lá kkkkk
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar