jnejunior 1 Denunciar post Postado Março 4, 2011 e ai rapaziada... tenho um sistema de cadastro de usuário, e na parte de edição/Alteração do usuário mostro os dados dele, nome: usuario: email: senha atual: nova senha: meu problema é o seguinte: quando o usuário não informar uma nova senha, quero que a atual seja mantida... só que não consigo fazer isso, não dá nenhum erro, mas também não funciona... meu script <?php require_once("validaSessao.php"); require_once("config.php"); ?> <!doctype html> <html lang="pt-br"> <head> <title>Usuários Cadastrados</title> <meta charset="utf-8"> <link rel="stylesheet" href="css/estilo.css" type="text/css" media="screen" /> </head> <body> <section id="ExibeUsu"> <h1>Usuários Cadastrados</h1> <table> <tr><th>Nome</th><th>Usuário</th><th>Email</th><th>Alterar | Excluir</th></tr> <?php $sqlExibe = mysql_query('SELECT * FROM ' . TABELA . ' ORDER BY nomeUsu ASC') or die(mysql_error()); while ($i = mysql_fetch_array($sqlExibe)) { $id = $i[0]; // id usuario $nome = $i[1]; // nome usuario $usuario = $i[2]; // usuario usuario $email = $i[3]; // email usuario echo '<tr> <td>', $nome, '</td> <td>', $usuario, '</td> <td>', $email, '</td> <td class="alinhaCentro"> <a href="exibeUsu.php?acao=editar&id=' . $id . '"> <img src="http://www.demus.org.pe/notihome/img/editar.gif" alt="" /></a> <a href="exibeUsu.php?acao=excluir"> <img src="http://www.clicksti.com.br/favoritos/excluir_grande.gif" alt="" /></a></td></tr>'; } ?> </table> </section> <br /> <hr /> <br /> <?php if (isset($_GET['acao']) && $_GET['acao'] == 'editar') { $id = $_GET['id']; $sqlEditar = mysql_query('SELECT * FROM ' . TABELA . ' WHERE idUsu = ' . $id) or die(mysql_error()); while ($i = mysql_fetch_array($sqlEditar)) { $nome = $i[1]; // nome usuario $usuario = $i[2]; // nome usuario $email = $i[3]; // nome usuario $senha = $i[4]; // senha } if (isset($_POST['salvar'])) { $idUp = $_GET['id']; $nomeUp = $_POST['nome']; $usuarioUp = $_POST['usuario']; $emailUp = $_POST['email']; $novaSenhaUp = $_POST['novaSenha']; if (empty($nomeUp)) { echo '<span class="erro">Digite seu nome!</span>'; } elseif (empty($usuarioUp)) { echo '<span class="erro">Digite seu usuário!</span>'; } elseif (!filter_var($emailUp, FILTER_VALIDATE_EMAIL)) { echo '<span class="erro">Digite um email válido!</span>'; } elseif (empty($novaSenhaUp)) { $novaSenhaUp = $_POST['senhaAtual']; } else { $sqlAtualizar = mysql_query("UPDATE " . TABELA . " SET nomeUsu = '$nome', usuUsu = '$usuarioUp', emailUsu = '$emailUp', senhaUsu = '$novaSenhaUp' WHERE idUsu = '$idUp'") or die(mysql_error()); header("Location: exibeUsu.php"); } } ?> <section id="form"> <form action="" method="post"> <fieldset> <legend>Editar Usuários</legend> <label for="nome"> <span>Nome:</span> <input type="text" name="nome" value="<?php echo $nome; ?>" /> </label> <label for="usuario"> <span>Usuário:</span> <input type="text" name="usuario" value="<?php echo $usuario; ?>" /> </label> <label for="email"> <span>Email:</span> <input type="text" name="email" value="<?php echo $email; ?>" /> </label> <label for="novasenha"> <span>Senha Atual:</span> <input type="text" name="" value="<?php echo $senha; ?>" disabled="disable" /> </label> <label for="novaSenha"> <span>Nova Senha:</span> <input type="password" name="novaSenha" /> </label> <button name="salvar">Salvar</button> </fieldset> </form> </section> <?php } ?> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Março 4, 2011 Não tem como pegar valor do Input desabilitado troque <input type="text" name="" value="<?php echo $senha; ?>" disabled="disable" /> pra <input type="text" name="" value="<?php echo $senha; ?>" readonly="readonly" /> Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Março 4, 2011 por medida de segurança não armazene a senha em nenhum campo do formulário, force que o usuário digite a senha. Compartilhar este post Link para o post Compartilhar em outros sites
jnejunior 1 Denunciar post Postado Março 4, 2011 valeu pelas dicas pessoal, vou fazer a segunda opinião, pois segurança é tudo... valeu mesmo Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Março 4, 2011 Sé e alteração , não há porque , você 'forçar o usuario' digitar a senha , mais sim não deixar ele alterar a senha , isso você bota um campo de password , e readonly (so leitura) \: Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Março 4, 2011 mesmo na alteração de senha é necessária a digitação da senha atual e nova senha, para evitar q algum engraçadinho altere a senha. Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Março 4, 2011 como o cara vai alterar a senha se o input e readonly ? Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Março 4, 2011 senha em input é falha de segurança, qlqr usuário mal intencionado terá acesso a ela, mostrar a senha na tela ou coloca-las em campos hidden ou password podem ser visualizados no código fonte. Finalizo aki. Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Março 5, 2011 mesmo a senha anterior ou a nova tem que está tudo como password se o cara não alterar via programação voce não faz nada com o campo senha se tentar alterar precisará primeiramente comparar para ver se a senha anterior está correta Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Março 5, 2011 Pior é que não faz sentido. Se a senha está num campo do tipo readonly, significa que você não permitirá que esta seja editada. E se a senha não pode ser alterada através desse formulário, você não precisa dessa informação no UPDATE. Se é uma parada estética, cria o campo, mas coloca qualquer valor para ele. Daí pode deixar com disabled mesmo, para não "sujar" seu $_POST. Compartilhar este post Link para o post Compartilhar em outros sites
Kosaka 0 Denunciar post Postado Julho 12, 2012 Bom dia pessoal, Para essa mesma dúvida, como possa fazer quando o campo for checked ou radio? Em alguns momentos podem existir campos que são marcados automaticamente, como faria para pegar os valores via $_POST ? Compartilhar este post Link para o post Compartilhar em outros sites