Ir para conteúdo

Arquivado

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

zinleo1

Editar senha no banco de dados MySQL

Recommended Posts

Galera, estou sofrendo com um problema ao editar a senha do aluno, alguém saberia ajudar com o motivo do erro? Tô precisando disso pra entregar a avaliação no curso urgentemente.

 

Pag 1: Codigos -> areadoaluno.php

<html>
     <?php
       session_start();
   ?>
    <head>
        <title>Editar registro de aluno</title>
        <meta charset='utf-8'/>

  
    </head>

    <body>
            <form name="areadoaluno.php" method="POST" action="alterar_senha.php">
                <fieldset>
                    <legend>bem vindo,<?php echo $_SESSION['logado']."!";?></legend>
                    <?php  session_destroy(); ?>
                </fieldset>
                <input type="submit" name="editarsenha" value="Editar Senha">
            </form>
            

</body>
</html>

Pag 2: Codigos -> Alterar_senha.php

<html>
    <head>
        <title>Editando a senha do aluno</title>
        <meta charset='utf-8'/>

  
    </head>

    <body>
<?php


    include('conexao.php');
    
    
    $cod = $_GET['id'];
    
    echo $cod;

   echo "<b>Editando sua senha! ".$cod."</b></br></br>";

    $query ="SELECT * FROM aluno WHERE cod_aluno = $cod";
    
    $result = mysqli_query($con,$query);


    if ($result->num_rows > 0) {
        echo "<form method='post' action='alterar_senha_conf.php'>";
        while($linha = mysqli_fetch_array($result)) {

            echo "<label>Login:</label><input required type='text' name='login_aluno' readonly='readonly' value='".$linha["login_aluno"]."'></input><br>";
            echo "<label>Senha:</label><input type='text' name='senha_aluno' value='".$linha["senha_aluno"]."'></input><br>";
            
            echo "<label>Código do aluno:</label><input  type='text' name='cod_aluno' readonly='readonly' value='".$linha["cod_aluno"]."'></input><br>";
            echo "<input type='submit' value='salvar'></input>";

        }
            echo "</form>";
    } else {
        echo "<b class='erro'>Sem resultados para mostrar</b><br><br>";
    }


?>


</body>
</html>

Pag 3: Codigos -> Alterar_senha_conf.php 

<html>
    <head>
        <title></title>
        <meta charset='utf-8'/>
    </head>

    <body>
<?php


    include('conexao.php');

    $login = $_POST['login_aluno'];
    $senha = $_POST['senha_aluno'];
    $cod = $_POST['cod_aluno'];

    echo "Login: ".$login."</br>Senha: ".$senha."</br></br>";

    $adc = "UPDATE aluno SET login_aluno='$login', senha_aluno='$senha' WHERE cod_aluno='$cod'"; 

    $ins = mysqli_query($con,$adc);

    if($ins)
    {
    echo "<b style='color:green'>Usuário editado com sucesso!</b> </br><a href='areadoaluno.php'>Voltar</a>";

    }
    else
    {
    echo "Erro </br><a href='areadoaluno.php'>Voltar</a>";

    }
    
    
?>
    </body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

session_destroy se adiciona somente para realizar o logout do site/sistema:

<?php  session_destroy(); ?>

Você também não está enviando o ID, logo o get abaixo não funciona:

$cod = $_GET['id'];

Por isso, nenhum aluno é selecionado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Ross Risso
      Tenho uma tabela pedidos com o campo forma de pagamento -  formpag - ele é uma combox que o usuário escolhe se o pagamento vai ser em dinheiro ou ou depósito em banco, na hora de criar o pedido.
      Nessa tabela também existe o campo total. O que necessito é buscar em uma consulta o total de todos os pedidos e mostrar separadamente na mesma consulta o total em dinheiro e em depósito.
      $qr="SELECT dataped, formpag, total  FROM tblpedidos  GROUP BY MONTH(dataped)"; $sqli=mysqli_query($conn,$qr); while($ln = mysqli_fetch_assoc($sqli)){} Como faço para obter a soma de "total" quando? Exemplo:
      JANEIRO  quando formpag for dinheiro - total em dinheido - quando formpag for depósito - total em depósito.
      JANEIRO total em dinheiro $ 100,00 - total em depósito $ 50,00. E assim por diante: FEVEREIRO, MARÇO e etc.
      espero ter sido claro. Agradeço a atenção de todos.
    • Por celsomacarini
      Olá, estou com uma dúvida, como que eu faço para mandar a data e a hora atualizada para o meu banco? O código esta assim
      FUNÇÃO DE ADICIONAR
      public function adicionarSolicitacao($usuario = '', $assunto ='', $data ='', $hora ='') { if($this->existeEmail($email) == false) { $sql = "INSERT INTO solicitacao (usuario, assunto, data, hora) VALUES (:usuario, :assunto, :NOW(), :NOW())"; $sql = $this->pdo->prepare($sql); $sql->bindValue(':usuario', $usuario); $sql->bindValue(':assunto', $assunto); $sql->bindValue(':data', $data); $sql->bindValue(':hora', $hora); $sql->execute(); return true; } else { return false; } }
      ARQUIVO SUBMIT
       
      <?php include '../classes/ramal.class.php'; $contato = new Contato(); if(!empty($_POST['usuario'])){ $usuario = $_POST['usuario']; $assunto = $_POST['assunto']; $data = $_POST['data']; $hora = $_POST['hora']; $contato->adicionarSolicitacao($usuario, $assunto, $data, $hora); header("Location: index_servico.php"); }else{ header("Location: index_servico.php"); } ?> ARQUIVO DO FORMULÁRIO <div class="container"> <form name="formCadastro" method="POST" action="nova_solicitacao_submit.php"> <div class="form-row"> <div class="form-group col-md-6"> <fieldset disabled> <label for="inputEmail4">Nome do Usuário</label> <input type="text" class="form-control" name="usuario" value="<?php echo $_SESSION['usuarioNome']; ?>"> </div> </fieldset> <div class="form-group col-md-6"> <label for="inputState">Assunto</label> <select id="inputState" class="form-control" name="assunto"> <option selected>Impressoras</option> <option>EP-Específico Pormade</option> <option>Fluig</option> <option>Internet</option> <option>Logix</option> <option>Maker</option> <option>Office</option> <option>Inline</option> <option>Senhas</option> <option>SIMP</option> <option>Telefonia</option> <option>Terceiros</option> <option>Windows</option> <option>Backup</option> <option>CEDEPH</option> <option>Computadores</option> <option>CRM</option> <option>E-Mail</option> <option>Empréstimo de Equipamentos</option> <option>Formatação</option> <option>Outros</option> </select> </div> </div> <div class="input-group"> <div class="input-group-prepend"> <span class="input-group-text">Qual é o problema?</span> </div> <textarea class="form-control"></textarea> </div><br> <input class="btn btn-primary" type="submit" value="Enviar"> <a href="nova_solicitacao_submit.php" class="btn btn-info" role="button">Voltar</a> </div> </div> </form> </header> </body>  
    • Por adrianno
      Fala pessoal beleza?
      Tenho um problema para resolver,  tenho um sistema em PHP com MySQL, mas preciso melhorar a paginação,  tenho uma 2 lógicas de paginação em mente, uma delas é a que mais se encontra e videos, blogs, postagens  mostrando na web,
       
      onde damos um primeiro select CAMPO from TABELA, contamos  o resultado e temos o total de registros para tratar a quantidade de páginas, limite, quantidade que vai aparecer por página etc,  apos isso damos novamente o select CAMPOS from TABELA limite x, y  de acordo com o que obtivemos na lógica da paginação com a primeira SQL. esta lógica até que funciona, mas, não consegui aplicar ela usando JOIN  agrupando 2 ou mais tabelas, pois ai, eu teria  que fazer esta contagem  lá a primeira SQL, ou seja no fim, teria 2 SQL sendo executadas , uma mais rápida devido ao limit passado, mesmo assim ainda seriam 2 consultas.
      Outras lógica seria dar um SELECT count(CAMPO) from TABELA  seria uma SQL mais rápida,  mas...  se eu tiver um JOIN agrupando dados de uma tabela de categoria + produtos, eu teria que contar o resultado já agrupado das 2.
      Já pensei em executar a consulta normal, retornar o array dos dados, e depois paginar este array  com array_slice, e dividir ele de acordo com a quantidade de páginas e registros de cada.
      Já fiz paginação com JS/AJAX  mas mesmo assim, ainda preciso passar os dados totalizados, consigo uma boa visualização final na interface, mas por tras, sei que o processamento no MYSQL pesa
       
      Lembrando que em cada caso citado, cada vez que alteramos entre as páginas, é novamente executado os calculos.
       
      Alguem tem uma lógica bacana para paginação? de forma que nao fique pesado, lento em uma tabela muito grande?
       
       
       
       
       
       
       
    • Por Rodrigo2000
      Bom dia,
       
      Tenho estado a criar uma base dados onde vou inserir um conjunto de elementos de uma textarea.
      Quando o texto é curto, facilmente passa para a base de dados, no caso de ser longo não passa nada.
      O problema é claramente as variáveis, na base de dados já alterei o tamanho dos campos, mas resolveu o
      problema.
      Alguem tem uma ideia de como posso resolver o problema.
       
      Envio o código fonte da página de entrada de dados.
      Tenho igualmente um problema que ainda nem percebi o que se passa.
      O texto quando carregado na textarea e input aparece com espaços, como é que os posso
      eliminar.
       
      Sem mais
      Rodrigo Lourenço
       
      <!DOCTYPE HTML>
      <html>
      <head>
        <title>Adiciona Artigo</title>
        <meta name="description" content="website description" />
        <meta name="keywords" content="website keywords, website keywords" />
        <meta http-equiv="content-type" content="text/html; charset=windows-1252" />
        <link rel="stylesheet" type="text/css" href="style/style.css" title="style" />
      </head>
      <body>
        <?php
          //começa por verificar a sessão, caso não esteja activa envia para a página inicial.
          require("livraria.php");
          session_start();
          $validacao = array();
          
          $login = 0;
          if (isset($_SESSION['login']) && isset($_SESSION["sessionmaxtime"])){
              $login = $_SESSION['login'];        
          }
          if ($login == 0)
              echo "<meta http-equiv=\"refresh\" content=\"0; url=index.php\">";
          else{    
              if ($_SERVER["REQUEST_METHOD"] == "POST"){            
                  $validacao = validarAdd();
              }
          }
        ?>
        <div id="main">
          <div id="header">
            <div id="logo">
              <div id="logo_text">
                <!-- class="logo_colour", allows you to change the colour of the text -->
                <h1><a href="index.php">Livro<span class="logo_colour">Aberto</span></a></h1>
                <h2>Um lugar onde se lê e fala de livros.</h2>
              </div>
            </div>
            <div id="menubar">
              <ul id="menu">
                <!-- put class="selected" in the li tag for the selected page - to highlight which page you're on -->
                <li><a href="index.php">Home</a></li>
                <li class="selected"><a href="add.php">Criar</a></li>
                <li><a href="apagar.php">Apagar</a></li>
                <li><a href="alterar.php">Alterar</a></li>
                <li><a href="gerir.php">Utilizadores</a></li>
                <li><a href="sair.php">Sair</a></li>
                <?php
                  echo "<li><a href=\"#\"> ".$_SESSION["utilizador"]."</a></li>";
                ?>
              </ul>
            </div>
          </div>
          <div id="site_content">
            <div class="sidebar">
              <!-- insert your sidebar items here -->
              <h3>Livros em Revista</h3>
              <p>Use o formulário para inserir um novo artigo.</p>          
              <p>
                  Os campos abaixo mencionados são preenchidos automáticamente.
                  <ul>
                      <li> Autor </li>
                      <li> Data </li>
                  </ul>
                </p>
              <p></p>
              <h3>Sites Uteis</h3>
              <ul>
                <li><a href="#">link 1</a></li>
                <li><a href="#">link 2</a></li>
                <li><a href="#">link 3</a></li>
                <li><a href="#">link 4</a></li>
              </ul>
            </div>
            <div id="content">
              <!-- insert the page content here -->
              <h1>Novo Registo</h1>
              <form action="#" method="post">
                <div class="form_settings">
                  <p><span>Titulo
                  <?php
                      if ($_POST && in_array("titulo",$validacao))
                          echo "(Obrigatório)";    
                  ?></span><input class="contact" type="text" name="titulo"  value="
                  <?php
                          if($_POST  && (count($validacao) > 0))
                              if(!empty($_POST["titulo"]))
                                  echo $_POST["titulo"];
                  ?>
                  " /></p>
                  <p><span>Autor</span><input class="contact" type="text" name="autor" readonly="true" value="
                  <?php
                      echo $_SESSION["utilizador"];
                  ?>" /></p>
                  <p><span>Artigo
                  <?php
                      if ($_POST && in_array("artigo",$validacao))
                          echo "(Obrigatório)";    
                  ?>            
                  </span><textarea class="contact textarea" rows="20" cols="50" name="artigo">
                  <?php
                          //echo $_POST["artigo"];
                          if($_POST  && (count($validacao) > 0))
                              if(!in_array("artigo",$validacao))
                                  echo $_POST["artigo"];                                        
                  ?>
                  </textarea></textarea></p>
                  <p><span>Resumo
                  <?php
                      if ($_POST && in_array("resumo",$validacao))
                          echo "(Obrigatório)";    
                  ?>                
                  </span><textarea class="contact textarea" rows="4" cols="50" name="resumo">
                  <?php
                          if($_POST  && (count($validacao) > 0))
                              if(!in_array("resumo",$validacao) )
                                  echo $_POST["resumo"];                                    
                  ?>            
                  </textarea></textarea></p>
                  <p><span>Data</span><input class="contact" type="date" name="data" readonly="true" value="<?php
                      date_default_timezone_set('Europe/Lisbon');
                      echo date('Y-m-d');        
                  ?>" /></p>
                  
                  <p style="padding-top: 15px"><span>&nbsp;</span><input class="submit" type="submit" name="contact_submitted" value="Adicionar" /></p>
                </div>
              </form>
            </div>
          </div>
          <div id="footer">
            Copyright &copy; textured_blue | <a href="http://validator.w3.org/check?uri=referer">HTML5</a> | <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a> | <a href="http://www.html5webtemplates.co.uk">Free CSS Templates</a>
          </div>
        </div>
        <?php
              //Uso da base de dados.
              $servername = "localhost";
              $username = "root";
              $password = "";  //campo a ser mudado consoante a password da base de dados.
              $dbname = "bdbooks";
              // Create connection
              $con = new mysqli($servername, $username, $password, $dbname);
                  
              //Verifica se houve erro ao aceder à base de dados
              if ($con->connect_errno!=0){
                  echo "Ocorreu um erro de ligação à base de dados.".$con->connect_errno;
                  exit;
              }
              
              //Só quando não houverem elementos na $validação é que se pode avançar.
              if(($_POST) && (count($validacao) == 0)){
                  
                  //Inserção dos dados na base de dados.            
                  //Usando antes o metodo query que usa a sintaxe mysql directamente.
                  //Tratamento das variáveis para evitar problemas de injecção de SQL.
                  $titulo = htmlentities(htmlspecialchars($_POST["titulo"]),ENT_QUOTES);
                  $artigo = htmlentities(htmlspecialchars($_POST["artigo"]),ENT_QUOTES);
                  $resumo = htmlentities(htmlspecialchars($_POST["resumo"]),ENT_QUOTES);
                  //Os campos pré preenchidos
                  $iduser = $_SESSION["userid"];
                  $data = $_POST["data"];
                      
                  //Segundo construção da string para introdução dos dados SQL.
                  $query = "INSERT INTO articles (artigo, data, id_users, resumo, titulo) VALUES(";
                  //Introdução dos dados na string.
                  $query = $query. "\"".$artigo."\",";
                  $query = $query. "\"".$data."\",";
                  $query = $query. "\"".$iduser."\",";
                  $query = $query. "\"".$resumo."\",";
                  $query = $query. "\"".$titulo."\");";
                  //realização da query
                  $con->query($query);
                  //Depois de utilizar os dados temos que os apagar.
                  unset($_POST);            
                  } //Fim do if  
        ?>
          
      </body>
      </html>
       
    • Por robertopr
      Prezados, bom dia,
       
      Por favor, uma dúvida:
      Para evitar usar o phpmyadmin, Heidi ou qualquer outro front-end, estou tentando fazer a importação de dados
      para a tabela direto pelo php.
      Já empaquei no básico, tentando usar o SQL:
      LOAD DATA LOCAL INFILE "C:/pasta/importa.txt" INTO TABLE `people` FIELDS TERMINATED BY ';' ENCLOSED BY '"' 
          LINES TERMINATED BY '\n' 
       
      Não localiza a pasta na minha máquina de jeito nenhum.
       
      Já tentei alterar as barras e aspas, mas não vai. Preciso matar esta questão para
      depois jogar no php.
       
      Obrigado.
×

Informação importante

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