1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Update password

Discussão em 'Web Development' iniciada por paulo84, 7 de Agosto de 2008. (Respostas: 7; Visualizações: 735)

  1. paulo84

    paulo84 Power Member

    boas, alguem me pode ajudar

    tou a fazer um projecto de um loja virtual e tenho um problema ele esta a mudar em todas as contas, como e k eu faço para fazer so naquela conta


    o meu codigo

    Código:
    <?php
    
    
    
    include $_SERVER['DOCUMENT_ROOT'].'/TFC/layout.php';
    include $_SERVER['DOCUMENT_ROOT'].'/TFC/common.php';
    
    //quick admin session check
    admin_check();
    
    
    switch($_REQUEST['req'])
            {
            //modify category form
            
            case "mod_pass":
            
            $sql=mysql_query("Select * from membros where password='{$_POST['password']}'");
            
            $row= mysql_fetch_assoc($sql);
            
            include $_SERVER['DOCUMENT_ROOT'].'/tfc/mudarPassForm.html';
            
            break;
            
            //modify category query
            case "update_pass":
            
            $sql=mysql_query("UPDATE membros SET password='{$_POST['password']}'"); 
            if(!$sql)
                {
                echo "erro performing query:".mysql_error();
                
                }else{
                
                echo '<p align=center>Password updated!</p>';
                echo '<p align=center><a href="/tfc/admin/members.php">Click here to go back</a></p>';
                
                }
                
                break;
                
                                
                    default:
                    
                    include $_SERVER['DOCUMENT_ROOT'].'/TFC/mudarPassForm.html';
                    
                    break;
                    
                    }
                    
                    //corpo();
                    
        
        ?>
    
    
    
    e o formulario

    Código:
    <!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>Untitled Document</title>
    
    </head>
    
    <body  bgcolor="#EEEEEE">
    <?php
    
    include $_SERVER['DOCUMENT_ROOT'].'/tfc/layout.php';
    include $_SERVER['DOCUMENT_ROOT'].'/tfc/common.php';
    ?>
     <font face="Verdana, Arial, Helvetica, sans-serif" size="4">Login</font>
        <hr size="5" color="#66CCCC">
    <div align="center"><strong><font size="4" face="Verdana, Arial, Helvetica, sans-serif">Alteraçao da Password</font></strong></div>
    <form action="/TFC/mudarPass.php" method="post">
        <table width="30%" border="0" align="center" cellpadding="4" cellspacing="0">
        <tr>
            <td width="19%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Alterar Password:</strong></font></td>
            <td width="81%"><input name="password" type="text" id="password" value="<?php stripslashes($row[password]);?>" /></td>
        </tr>
             <tr>
            <td>&nbsp;</td>
            <td>
                <div align="center">
                   <input name="req" type="hidden" value="update_pass" />
                   <input type="submit" name="submit" value="Altere a Password" />
                </div>
            </td>
            </tr>
           </table>
          </form>
    
    </body>
    </html>
    o que e falta? eu sei k falta ***** coisa, n sei e o k :S
     
  2. anjo2

    anjo2 Power Member

    PHP:
    $sql=mysql_query("UPDATE membros SET password='{$_POST['password']}'");
    devia ser:
    PHP:
    $sql=mysql_query("UPDATE membros SET password='{$_POST['password']}' WHERE membro='$membro'");
    devias por isto quando vais buscar o membro também, pois se 2 membros tiverem a mesma password, vais alterar de álguem que não devias.
     
  3. paulo84

    paulo84 Power Member

    continua a gravar em todos

    eu acho k ainda n identifiquei foi o utilizador
     
    Última edição pelo moderador: 7 de Agosto de 2008
  4. anjo2

    anjo2 Power Member

    Se colocaste o meu código funciona. fizeste upload do ficheiro? tenta fazer o echo da query.
    Não sei que raio de loja é essa, nem estás a proteger as passwords e isso é um total desrespeito pelos clientes e não sei até que ponto é legal...
     
  5. paulo84

    paulo84 Power Member

    LOL e uma loja virtual e para o projecto final de curso

    e ja agora como e que se proteje as password's?

    mudei isto no codigo

    $sql=mysql_query("UPDATE membros SET password='{$_POST['password']}' WHERE id='$id'");
    qdo dizes membro era o id do membro
     
    Última edição: 7 de Agosto de 2008
  6. anjo2

    anjo2 Power Member

    eu não conheço a base de dados, pensei que te fosse fácil de perceber que seria algo que identificasse o membro.
    PHP:
    $sql=mysql_query("UPDATE membros SET password='{md5($_POST['password'])}' WHERE id='$id'");
     
  7. alakazan

    alakazan Power Member

    se é para uma loja virtual devias usar algo mais seguro que um simples md5.

    PHP:
    $hashed_password=hash('sha256',$_POST['password']);
    depois o que metes na bd é o $hashed_password. Este tipo de hash requer 64 caracteres.
     
  8. paulo84

    paulo84 Power Member

    mas n e uma loja virtual que vai para mesmo ser alojada
    pelo o k eu tive a ver o hash nao funciona no php 4.3 (o php 5 so me da problemas :S)
     
    Última edição: 8 de Agosto de 2008

Partilhar esta Página