Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoas, sou novo com PHP mas já estudo há algum tempo. Produzi um site com sistema de Login, tudo deu certo. Fiz um painel, e restringi o acesso à ele. Nesse painel, o cliente encontra um link para trocar a senha de sua conta no site. Montei um script tudo certinho, mas na hora de dar um UPADATE no banco de dados, o PHP alterar SEMPRE O ÚLTIMO REGISTRO.
O fato é, não estou conseguindo alterar a senha do USUÁRIO LOGADO entenderam?
Gostaria que me ajudassem e se possível, me ajudem a deixar esse sistema seguro.
PÁGINA DE LOGIN
<?php
session_start();
require_once "config.php";
if(!isset($_SESSION['user_session']) && !isset($_SESSION['pwd_session'])) {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Meu Site</title>
<link rel="stylesheet" type="text/css" href="css/style_logar.css" />
<link rel='shortcut icon' href="img/icon.ico" />
<div id="corpo">
<form method="post" action="?go=logar">
<table id="form_contact_login" cellspacing="30" width="30%" border="0">
<tr>
<td><label class="font_form">Login:</label></td>
<td><input class="campo_form" name="usuario" type="text"/></td>
</tr>
<td><label class="font_form">Senha:</label></td>
<td><input class="campo_form" name="senha" type="password" /></td>
<tr>
<td><input id="enviar" name="enviar" type="submit" value="Login" /></td>
</tr>
</table>
</form>
</div>
</body>
</html>
<?php
}else{
echo "<meta HTTP-EQUIV='Refresh' CONTENT='0; url=./_painel'>";
}
?>
<?php
if(@$_GET['go'] == 'logar'){
$user = $_POST['usuario'];
$pwd = $_POST['senha'];
if(empty($user)){echo "<script>alert('Preencha todos os campos para se Logar-se!'); </script>";
}elseif(empty($pwd)){echo "<script>alert('Preencha todos os campos para se Logar-se!'); </script>"; $query1 = mysql_num_rows(mysql_query("SELECT * FROM usuario WHERE usuario = '$user' AND senha = '$pwd'"));
if($query1 == 1){
$_SESSION['user_session'] = $user;
$_SESSION['pwd_session'] = $pwd;
echo "<script>alert('Usuário Logado com sucesso!'); </script>";
echo "<meta HTTP-EQUIV='Refresh' CONTENT='0; url=index.php'>";
}else {
echo "<script>alert('Login ou senha incorretos! Tente novamente.'); history.back();</script>";
}
}
}
?>
PÁGINA ALTERAR SENHA
<?php
session_start();
if(!isset($_SESSION['user_session']) && !isset($_SESSION['pwd_session'])) {
echo "<script>alert('Você precisa estar logado para acessar a Área Restrita!');</script>";
echo "<meta HTTP-EQUIV='Refresh' CONTENT='0; ../'>";
}else {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Meu site | Alterar Senha</title>
</head>
<body>
<ul id="menu">
<li><a href="index.php">Home</a></li>
<li><a href="#">Produtos</a>
<ul>
<li><a href="ts3.php"><span class="align_camp">Team Speak</span></a></li>
<li><a href="revenda.php"><span class="align_camp">Revenda</span></a></li>
</ul>
</li>
<li><a href="login.php" onclick="alert('Página em Manutenção!'); return false;">Login</a></li>
<li><a href="[https://docs.google.com/forms/d/18FU3AklBLRgu5tx72Kdp2tSCn6g6IQM35Uj4wSxA50s/viewform](https://docs.google.com/forms/d/18FU3AklBLRgu5tx72Kdp2tSCn6g6IQM35Uj4wSxA50s/viewform)">Cadastre-se</a></li>
<li><a href="contato.php">Contato</a></li>
</ul>
<?php
if(!isset($_SESSION['user_session']) && !isset($_SESSION['pwd_session'])) {
echo "<div id='exibe_user'>Bem vindo, <strong> Visitante </strong></div>";
} else {
echo "<div id='exibe_user'>Bem vindo, <strong>".$_SESSION['user_session']."</strong> <img onclick=\"javascript: exibe('conteudo');\" id='set_login' src='../img/set_login.png' /></div>";
}
?>
</body>
SCRIPT PARA DAR UPDATE NO BANCO DE DADOS (OBS:: Essa página que está atualizado a senha SEMPRE DO ÚLTIMO USUÁRIO DO BANCO DE DADOS)
<?php
session_start();
include "config.php";
$sql = ("SELECT * FROM usuario");
$query = mysql_query($sql);
while($sql = mysql_fetch_array($query)){
$id = $sql["id"];
}
$senhacap = $_POST['senha'];
$senhanew = $_POST['senhanew'];
$consulta = mysql_query("SELECT * FROM usuario WHERE senha = '".$senhacap."'") or die('Erro: ' . mysql_error());
if(mysql_num_rows($consulta) == 0){
echo "Senha incorreta";
}else{
$muda = ("UPDATE usuario SET senha = '$senhanew' WHERE id = '$id'");
$exe = mysql_query($muda);
}
?>Carregando comentários...