Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

raelmartins

Página para alterar senha [PHP+Mysql]

Recommended Posts

Boa noite, tenho uma página de alterar senha que não esta funcionando, alguém poderia verificar os códigos pra ver o que está errado ? Obrigado.

 

Segue a página:

<div class="boxui box-title">

    <h3>Alterar Dados</h3>
</div>
<div class="boxui box-con">
    <div class="wrap">


<?PHP


  if(isset($_SESSION['user_admin']) && checkInt($_SESSION['user_admin']) && $_SESSION['user_admin']>=0) {
    echo'<p style="text-align:center;">Utilize esta página para alterar os respectivos dados da sua conta.</p><br>';
    
    if(isset($_POST['submit']) && $_POST['submit']=="Passwort aktualisieren") {
    
      if(checkAnum($_POST['npass']) && !empty($_POST['opass']) && (!empty($_POST['npass']) && strlen($_POST['npass'])>=8 && strlen($_POST['npass'])<=16) && $_POST['npass']==$_POST['npass2']) {
        
        $oldPass = mysql_real_escape_string($_POST['opass']);
        $newPass = mysql_real_escape_string($_POST['npass']);
        
        $sqlCmd = "SELECT id,login FROM account.account WHERE password=PASSWORD('".$oldPass."') AND id='".$_SESSION['user_id']."' LIMIT 1";
        $sqlQry = mysql_query($sqlCmd,$sqlServ);
        
        if(mysql_num_rows($sqlQry)==1) {
        
          $passCmd = "UPDATE account.account SET password=PASSWORD('".$newPass."') WHERE id='".$_SESSION['user_id']."' LIMIT 1;";
          $passUpdate = mysql_query($passCmd,$sqlServ);
          
          if($passUpdate) {
            echo'<p class="meldung_sucesso">Senha alterada com sucesso.</p>';
          }
          else {
            echo'<p class="meldung_erro">Ops! Houve um erro e a senha não foi alterada."</p>';
          }
          
        }
        else {
          echo'<p class="meldung_erro">A senha que você digitou estava incorreta.</p>';
        }
        
      }
      else {
        echo'<p class="meldung_erro">Ops! Acho que você preencheu algum dado incorretamente. Tente novamente.</p>';
      }
      
    }
    
    if(isset($_POST['frage']) && $_POST['frage']=="aktualisieren") {


      if(!empty($_POST['opass']) && checkInt($_POST['sicherheitsf']) && checkAnum($_POST['sicherheitsa']) && strlen($_POST['sicherheitsa'])>=3 && strlen($_POST['sicherheitsa'])<=16) {
        
        $oldPass = mysql_real_escape_string($_POST['opass']);
        $frage = mysql_real_escape_string($_POST['sicherheitsf']);
        $antwort = mysql_real_escape_string(md5($_POST['sicherheitsa']));
        
        $sqlCmd = "SELECT id,login FROM account.account WHERE password=PASSWORD('".$oldPass."') AND id='".$_SESSION['user_id']."' LIMIT 1";
        $sqlQry = mysql_query($sqlCmd,$sqlServ);
        
        if(mysql_num_rows($sqlQry)==1) {
        
          $sfCmd = "UPDATE account.account SET question1='".$frage."',answer1='".$antwort."' WHERE id='".$_SESSION['user_id']."' LIMIT 1;";
          $sfUpdate = mysql_query($sfCmd,$sqlServ);
          
          if($sfUpdate) {
            echo'<p class="meldung_sucesso">Pergunta de segurança foi alterada com sucesso.</p>';
          }
          else {
            echo'<p class="meldung_erro">Ops! Houve um erro e a pergunta de segurança não foi alterada..</p>';
          }
          
        }
        else {
          echo'<p class="meldung_erro">A senha que você digitou estava incorreta.</p>';
        }
        
      }
      else {
        echo'<p class="meldung_erro">Ops! Acho que você preencheu algum dado incorretamente. Tente novamente.</p>';
      }
    }
    
    if(isset($_POST['submit']) && $_POST['submit']=="Lagerpasswort") {
      if(checkAnum($_POST['lnpass']) && strlen($_POST['lnpass'])>=1 && strlen($_POST['lnpass'])<=6 && $_POST['lnpass']==$_POST['lnpass2']) {
        $oldPass = mysql_real_escape_string($_POST['lopass']);
        $newPass = mysql_real_escape_string($_POST['lnpass']);
        $sqlCmd = "SELECT password FROM player.safebox WHERE password='".$oldPass."' AND account_id='".$_SESSION['user_id']."' LIMIT 1";
        $sqlQry = mysql_query($sqlCmd,$sqlServ);
        if(mysql_num_rows($sqlQry)==1) {
          $passCmd = "UPDATE player.safebox SET password='".$newPass."' WHERE account_id='".$_SESSION['user_id']."' LIMIT 1;";
          $passUpdate = mysql_query($passCmd,$sqlServ);
          if($passUpdate) {
            echo'<p class="meldung_sucesso">A senha do armazem foi alterada com sucesso.</p>';
          }
          else {
            echo'<p class="meldung_erro">Ops! Houve um erro e a senha do armazem não foi alterada.</p>';
          }
        }
        else {
          echo'<p class="meldung_erro">A senha que você digitou estava incorreta.</p>';
        }
        
      }
      else {
        echo'<p class="meldung_erro">Ops! Acho que você preencheu algum dado incorretamente. Tente novamente.</p>';
      }
    }
  
  ?>
      
<form action="?s=passwort" class="labelForm" method="POST">
          <p>Preecha os campos corretamente.
          <br>A nova senha deve ter as seguintes propriedades:</br><b>8-16 Algarismos (num a-Z,0-9)</b>.</p><br>
          
            <p>Senha da Conta</p>
        <label for="opass">Senha atual:</label>
            <input class="bar curved5" type="password" name="opass" size="16" maxlength="16" placeholder="Mínimo de 8 caracteres" />
        <div class="sep"></div>
            
<label for="npass">Nova senha:</label>
              <input class="bar curved5" type="password" name="npass" size="16" maxlength="16" placeholder="Mínimo de 8 caracteres" />
        <div class="sep"></div>


        <label for="npass2">Repita a nova senha:</label>
              <input class="bar curved5" type="password" name="npass2" size="16" maxlength="16" />
        <div class="sep"></div>
        
<input class="btn s2" type="submit" name="submit" value="Confirmar"/></th>
</form>


<br/><br/>


        <form class="labelForm" action="index.php?s=passwort" method="POST">
<p>Preencha os campos corretamente.
          <p>Alterar Pergunta de Segurança</p>
            
            <label for="">
             Pergunta de segurança:</label>
              <input class="bar curved5" type="password" name="opass" size="16" maxlength="16"/>
 <div class="sep"></div>
              <label for="">
Pergunta:</label>
              
                <select class="bar curved5" name="sicherheitsf">
                  <?PHP
                    foreach($sFrage AS $fragew => $frage) {
                      echo'<option value="'.$fragew.'">'.$frage.'</option>';
                    }
                  ?>
                </select>
              <div class="sep"></div>
           
            <label for="">
Resposta:</label>
              <input class="bar curved5" type="text" name="sicherheitsa" size="16" maxlength="16"/>
 <div class="sep"></div>
              <input class="btn s2" type="submit" name="frage" value="Confirmar"/></th>
        </form><br/><br/>


     
        <form class="labelForm" action="?s=passwort" method="POST">
          <p>Preencha os campos corretamente.
          
         
            <p>Alterar senha do Armazem</p>
            <label for="">
             Senha atual:</label>
              <input class="bar curved5" type="password" name="lopass" size="6" maxlength="6" placeholder="Máximo de 6 caracteres" />
 <div class="sep"></div>
           <label for="">
             Nova senha:</label>
              <input class="bar curved5" type="password" name="lnpass" size="6" maxlength="6" placeholder="Máximo de 6 caracteres" />
           <div class="sep"></div>
            <label for="">
             Repita a nova senha:</label>
              <input class="bar curved5" type="password" name="lnpass2" size="6" maxlength="6"/>
            <div class="sep"></div>
              <input class="btn s2" type="submit" name="submit" value="Confirmar"/>
            
          
        </form>
    </form>
  <?PHP
  }
  else {
    echo'<p class="meldung_erro">Você deve efetuar Login para ter acesso a esta área,</p>';
  }
?>
</div>
</div>
<div class="boxui box-end"></div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Explique o problema.

O que "não funciona"? Dá erro? Qual?

 

 

Habilite todas as exibições de erro, como mostrado neste tópico

 

 

PS: funções mysql_* estão obsoletas desde o PHP 5.5 e serão removidas do PHP em breve. Prefira usar MySQLi ou PDO. Veja mais aqui: http://www.ultimatephp.com.br/php-por-que-nao-utilizar-funcoes-mysql

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, ativo. Nela tem cadastrado vários itens. No campo ativo eu coloco a letra "S" para informar que este item está ativo no sistema. Por exemplo: 1, casa, S 2, mesa, S 3, cama, S 4, moto S 5, rádio O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "produtos" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, mesa, moto 2, mesa, casa, cama 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela produtos da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "mesa". Preciso fazer com que o php me liste todos os registros da tabela "produtos" que contenham a palavra "mesa". Até aqui tudo bem eu consigo listar. Estou fazendo assim: <?php $item = "mesa" $sql = mysqli_query($conn, "SELECT * FROM produtos WHERE item1 LIKE '$item' OR item2 LIKE '$item' OR item3 LIKE '$item' LIMIT 10"); while($aux = mysqli_fetch_assoc($sql)) { $id = $aux["id"]; $item1 = $aux["item1"]; $item2 = $aux["item2"]; $item3 = $aux["item3"]; echo $id . " - " . $item1 . ", " . $item2 . ", " $item3 . "<br>"; } ?> O problema é que está listando todos os registros que contém o item mesa. Eu preciso que o php verifique os demais item e me liste somente os registro em que todos os registros estejam ativos no sistema. No exemplo acima ele não deveria listar o registro 3. pois nesse registro contém o item "radio" e este item não está ativo no sistema. Ou seja, o registro "radio" na tabela itens não possui um "S" na coluna "ativo". Alguém sabe como resolver isso?
    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.