Ir para conteúdo
Fórum Script Brasil

Amanda Antunes

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Amanda Antunes

Amanda Antunes's Achievements

0

Reputação

  1. Olá a todos, é minha primeira vez aqui pedindo por ajuda, e já agradeço... o meu problema é o seguinte, estou tentando criar um CRUD, o cadastro/envio de mail de confirmação funciona corretamente e o login acho que está funcionando também, porém estou com problemas com o Update. Eu queria criar uma página de alteração de perfil de um usuário logado utilizando seu `id` como base de identificação, mas não estou conseguindo pegar o id, espero que alguém possa me ajudar !!! Formulário de Login: <?php //include ("_php/conexao.inc"); Sempre inicia a conexão com o BD e cm sesssion_start() include ("_php/conexao.inc"); ?> <!-- acima tem informações de html disnescessária para minha dúvida então removi ;) --> <!-- Formulário de login --> <form name="login" id="fLogin" method="post" action="_php/login.php"> <input type="password" name="senha" id="cSenha" placeholder="Senha"> <input type="text" name="email" id="cMail" placeholder="E-mail"/> <input type="submit" name="entrar" id="bEntrar" value="Entrar!"/> </form> Configuração do Login: <?php //inicia a conexão com o BD e cm sesssion_start() include("conexao.inc"); ?> <?php //Pega as informações dos input $senha = $_POST["senha"]; $email = $_POST["email"]; //Faz consulta ao bando de dados $sql = mysqli_query($conexao, "SELECT id, email, senha FROM cadastro WHERE email = '$email' AND senha = '$senha'"); $bd = mysqli_fetch_assoc($sql); //Verifica os Dados, se estiver Ok leva o user para o index if (!empty($bd)) { /*Durante minha procura por soluções muitos criavam uma session: $_SESSION['logado'] = true; Vocês recomendam criar essa ação?*/ $_SESSION["nome_"] =$bd["nome"]; $_SESSION["senha_"] =$bd["senha"]; $_SESSION["email_"] =$bd["email"]; $_SESSION["id_"] =$bd["id"]; header('location:../index.php'); } //Se não ... reconduz o user para a página de login else{ header('location: ../login.php'); } ?> Página index: Neste arquivo tem um 'li' 'Perfil' que levaria até a um link com o id do user logado, porém no link não aparece o id $_SESSION <li><a href="_php/altera_perfil.php?id= "<?php echo $_SESSION["id_"] ?>>Perfil</a></li> <?php include ("_php/conexao.inc"); ?> <?php //Cria uma consulta ao BD $sql = mysqli_query($conexao, "SELECT * FROM cadastro"); if(!$sql) { die("erro no banco"); } //Cria uma variável para selecionar os dados $row = mysqli_fetch_assoc($sql); ?> <li><a href="index.php">Home</a></li> <!--Aqui o li 'Perfil' levaria até ao link _php/altera_perfil.php?id= e acrescentaria o id do user via $_SESSION--> <li><a href="_php/altera_perfil.php?id= "<?php echo $_SESSION["id_"] ?>>Perfil</a></li> <li><a href="login.php">Login</a></li> <li><a href="cadastro.html">Cadastro</a></li> Form de alteração de perfil: Aqui após fazer a consulta ao BD os input seriam preenchidos com as informações do user logado, só que acaba preenchendo com os dados do primeiro id da minha tabela do BD não com os dados do usuário logado <?php //inicia a conexão com o BD e cm sesssion_start() include ("conexao.inc");?> <?php $sql = mysqli_query($conexao, "SELECT * FROM cadastro "); if(!$sql) { die("erro no banco"); } $row = mysqli_fetch_object($sql); ?> <form name="perfil_usu" method="post" action="confim_alt_perfil.php" id="perfil_usua"> <!--Aqui após fazer a consulta ao BD os input seriam preenchidos pelas informações do user logado, só que acaba preenchendo com os dados do primeiro id da tabela do BD não com os dados do usuario logado--> <input type="text" value="<?php echo $row->$_SESSION['nome_']?>" name="alt_nome" id="alt_nome" placeholder="Nome"/> <input type="email" value="<?php echo $row->$_SESSION['email_'] ?>" name="alt_email" id="alt_email" placeholder="E-mail"/> <input type="password" value="<?php echo $row->$_SESSION['senha_'] ?>" name="alt_senha" id="alt_senha" placeholder="Senha"/> <input type="text" id="id" name="id" value="<?php echo $row->$_SESSION["id_"] ?>"/> <input type="submit" value="Alterar!" id="bAlterar" name="bAlterar"/> Confirma a alteração de dados: <?php include ("conexao.inc"); $id = $_POST["id"]; $nome = $_POST["alt_nome"]; $senha = $_POST["alt_senha"]; $email = $_POST["alt_email"]; $sql = mysqli_query($conexao, "UPDATE cadastro SET nome = '$nome', senha = '$senha', email = '$email' WHERE id = '$_SESSION["id_"]'") OR DIE(mysqli_error()); $row = mysqli_fetch_object($sql); if(mysqli_affected_rows($conexao) > 0) { echo "Sucesso: Atualizado corretamente!"; } else { echo "Aviso: Não foi atualizado!"; } Não sei se consegui explicar bem, seria tipo O usuário faz o login. Quando ele estiver logado ele será encaminhado para o index onde haverá a opção Perfil. Na página Perfil haverá os campos com os dados do Usuário já preenchidos com as antigas informações onde poderá alterar APENAS os seus dados.. No link do Perfil constará o id do usuário ex:https://forum.imasters.com.br/forum/altera_perfil.php?id=$_SESSION["id"] ?> Porém com o meu sistema não aparece o id no link e os campos são preenchidos com os dados do primeiro usuário da minha Tabela do Banco de Dados e quando faço a alteração altera a do primeiro usuário da minha Tabela não os dados do usuário logado ... Eu fiz alguma coisa errada, viajei demais e fiz coisa que não existe kkk? :D Se alguém puder me ajudar, Obrigada!!!!
×
×
  • Criar Novo...