Ir para conteúdo
Fórum Script Brasil
  • 0

Erro na alteração de senha


Leo_php

Pergunta

Boa tarde!!!

Eu criei um sisteminha de cadastramento e alteração de login, mas na hora de alterar só altera o nome e usuario a senha e nivel não alteram, o sistema diz que foi alterado com sucesso mas não altera. meu banco de dados está assim:

banco de dados: bd_aplicacao

tabela: funcionario

id: int(8) - autoincremento

nome: varchar (50)

usuario: varchar(20)

senha: varcchar(12)

nivel: int(1)

agenda_db.php


<?php
include "conexao.php";

$id=$_POST['id'];
$nome=$_POST['nome'];
$usuario=$_POST['usuario'];
$senha=$_POST['senha'];
$nivel=$_POST['nivel'];


$sql=mysql_query("update funcionario set nome='$nome', usuario='$usuario', senha='$senha', nivel='$nivel' where id='$id'");
if($sql){
?>
<script>
alert('Agenda alterada com sucesso'); location.href='listar.php';
</script>
<?php

}
else{
echo "erro ao alterar";
}

?>



</BODY>
</HTML>
[/codebox]

alterar.php

[codebox]
<?php
session_start();

require_once("apresenta.php");
?>

<HTML>
<HEAD>
<TITLE>Leodario PROVA 6º SIS</TITLE>
</HEAD>
<BODY>
<?php
session_start();

$id=$_GET["id"];
include "conexao.php";


$sql = mysql_query("select * from funcionario where id='$id'") or die(mysql_error());
$dados = mysql_fetch_object($sql);

?>

<form name="formulario" action="altera_db.php" method="POST"><BR>

NOME:<input type="text" size="20" name="nome" value="<?php echo $dados ->nome; ?>"><BR>
USUARIO:<input type="text" size="20" name="email" value="<?php echo $dados ->usuario; ?>"><BR>
SENHA:<input type="text" size="20" name="senha" value="<?php echo $dados ->senha; ?>"><BR>
NIVEL:<input type="hiden" size="20" name="nivel" value="<?php echo $dados ->nivel; ?>"><BR>

<input type="submit" name="btn" value="Enviar">
</form>
<?php include "listar.php"; ?>




</BODY>
</HTML>

apresenta.php


<?php
if (!isset($_SESSION)) session_start();

$administrador = 1;
$acessor = 2;
$funcionario = 3;

// Verifica se não há a variável da sessão que identifica o usuário
if (!isset($_SESSION['UsuarioID']) OR ($_SESSION['UsuarioNivel'] == $administrador)) {

echo $_SESSION['UsuarioNome'];
echo "!!!";
echo "<br>" ;
echo "<br>" ;
echo "Voce esta logado como Administrador!!!!";
echo "<br>" ;
echo "<br>" ;
}

else if (!isset($_SESSION['UsuarioID']) OR ($_SESSION['UsuarioNivel'] == $acessor)) {

echo $_SESSION['UsuarioNome'];
echo "!!!";
echo "<br>" ;
echo "<br>" ;
echo "Voce esta logado como Acessor!!!!";
echo "<br>" ;
echo "<br>" ;
}

else if (!isset($_SESSION['UsuarioID']) OR ($_SESSION['UsuarioNivel'] == $funcionario)) {

echo $_SESSION['UsuarioNome'];
echo "!!!";
echo "<br>" ;
echo "<br>" ;
echo "Voce esta logado como Funcionario!!!!";
echo "<br>" ;
echo "<br>" ;
}

// Verifica se não há a variável da sessão que identifica o usuário
else {
// Destrói a sessão por segurança
session_destroy();
// Redireciona o visitante de volta pro login
header("Location: index.php"); exit;
}
?>
[/codebox]

apresenta.php

[codebox]
<?php
session_start();
require_once("conexao.php");

//Parte 1

$nome = trim(addslashes($_POST['nome']));
$usuario = trim(addslashes($_POST['usuario']));
$senha = trim(addslashes($_POST['senha']));

$nivel = trim(addslashes($_POST['nivel']));
//Parte 2

if ( (empty($nome)) or (empty($usuario)) or (empty($senha)) or (empty($nivel)) ) {
echo '<span style="color:red"><b>Todos campos devem ser preenchidos corretamente.</b><p>';
echo '<a href="index.php?"> Voltar </a>';
exit;
} //Parte 3


$sql = "SELECT id FROM funcionario WHERE usuario='$usuario'";
$query = mysql_query($sql);
if (mysql_num_rows($query) > 0 ) {
echo '<span style="color:red"><b>Usuário já cadastrado no sistema.</b><p>';
echo '<a href="index.php?"> Voltar </a>';
exit;
}
//Parte 4



//$sql = "INSERT INTO usuarios (nome,usuario,senha,nivel,email) VALUES ('$nome','$usuario','$senha','$nivel','$email')";
$sql = "INSERT INTO funcionario (nome,usuario, senha,nivel ) VALUES ('$nome','$usuario','$senha','$nivel')";
$query = mysql_query($sql);

echo '<span style="color:blue"><b>Usuário Cadastrado.</b></span><p>';
echo "<br>";
echo "<br>";
echo '<a href="index.php?"> Voltar </a>';

?>

conexao.php


<?php
$con=mysql_connect("localhost","root","admin") or die (mysql_error());
$bd=mysql_select_db("bd_aplicacao") or die (mysql_error());

?>
[/codebox]

index.php

[codebox]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>Olá!!!!</title>
</head>

<body>

<form action="valida.php" method="post">
<fieldset>
<legend>Login</legend>
<label for="name">Usuaário</label>
<input type="text" name="usuario" id="txUsuario" maxlength="25" />
<label for="txSenha">Senha</label>
<input type="password" name="senha" id="txSenha" />

<input type="submit" value="Entrar" /> <br /> <br />

</fieldset>
</form>

</body>

</html>


<h3> Cadastrar </h3>

<form action="cadastrando.php" method="post">
<fieldset>

<legend>Cadastro </legend>

<label for="name">Nome</label><br />
<input type= "text" name = "nome" /><br /><br />

<label for="name">Usuario</label><br />
<input type= "text" name = "usuario" /><br /><br />

<label for="name">Senha</label><br />
<input type= "password" name = "senha" /><br /><br />


<label for="name">Nivel</label>
<input name="nivel" type="hidden" value="cadastrando">
<select name="nivel" id="nivel" class="botao">
<option value=" ">Selecionar</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>


<BR /> <BR />
<input type="Submit" value="Cadastrar" />
</form>
</fieldset>

listar.php


<?php
session_start();

require_once("apresenta.php");
?>



<!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>Leodario Prova 6º SIS</title>
</head>
<body>
<table borde"1" border width="100%">

<?php

include "conexao.php";

$sql=mysql_query("select * from funcionario order by nome ASC") or die(mysql_error());

while($escreve=mysql_fetch_object($sql)){?>

<tr>
<td>Id: <?php echo $escreve->id;?></td>
<td>Nome: <?php echo $escreve->nome; ?></td>

<td>Usuario: <?php echo $escreve->usuario; ?></td>
<td>Senha: <?php echo $escreve->senha; ?></td>
<td>Nivel: <?php echo $escreve->nivel;?></td>



<?php
if (!isset($_SESSION['UsuarioID']) OR ($_SESSION['UsuarioNivel'] == $administrador)) {
?>

<td><a href="alterar.php?id=<?php echo $escreve -> id;?>"> alterar </a></td>
<td><a href="excluir_db.php?id= <?php echo $escreve -> id;?>"> excluir </a></td>


<?php } ?>



<?php
if (!isset($_SESSION['UsuarioID']) OR ($_SESSION['UsuarioNivel'] == $acessor)) {
?>
<td><a href="alterar.php?id=<?php echo $escreve -> id;?>"> alterar </a></td>

<?php } ?>



<?php } ?>
</tr>

</table> <br /> <br />
<td>Sair do programa:<a href="index.php?"> Sair </a></td>

</body>
</html>
[/codebox]

valida.php

[codebox]
<?php


if (!empty($_POST) AND (empty($_POST['usuario']) OR empty($_POST['senha']))) {
header("Location: index.php"); exit;
}


mysql_connect('localhost', 'root', 'admin') or trigger_error(mysql_error());

mysql_select_db('bd_aplicacao') or trigger_error(mysql_error());

$usuario = mysql_real_escape_string($_POST['usuario']);
$senha = mysql_real_escape_string($_POST['senha']);


$sql = "SELECT `id`, `nome`, `nivel` FROM `funcionario` WHERE (`usuario` = '". $usuario ."') AND (`senha` = '". $senha ."') ";
$query = mysql_query($sql);
if (mysql_num_rows($query) != 1) {

echo "Login inválido!"; exit;
} else {

$resultado = mysql_fetch_assoc($query);


if (!isset($_SESSION)) session_start();


$_SESSION['UsuarioID'] = $resultado['id'];
$_SESSION['UsuarioNome'] = $resultado['nome'];
$_SESSION['UsuarioNivel'] = $resultado['nivel'];


header("Location: listar.php"); exit;
}

?>

Me ajudem por favor :wacko:

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Não precisa postar 5km de códigos, use a lógica: O que é usado no processo de alteração das informações? Formulário e action, pronto...

No arquivo agenda.php, troque:

$id=$_POST['id'];

Por:

print_r($_POST);

$id=$_POST['id'];

Isso vai exibir tudo que está vindo pelo POST, verifique se os dados estão vindo, provavelmente não estarão, se aparecerem, dê echo em todas as variáveis antes de tentar atualizar no BD, também para verificar se está sendo passado os valores...

Link para o comentário
Compartilhar em outros sites

  • 0
Não precisa postar 5km de códigos, use a lógica: O que é usado no processo de alteração das informações? Formulário e action, pronto...

No arquivo agenda.php, troque:

$id=$_POST['id'];

Por:

print_r($_POST);

$id=$_POST['id'];

Isso vai exibir tudo que está vindo pelo POST, verifique se os dados estão vindo, provavelmente não estarão, se aparecerem, dê echo em todas as variáveis antes de tentar atualizar no BD, também para verificar se está sendo passado os valores...

aparecem que os volores alterados mas não altera o banco de dados............

Link para o comentário
Compartilhar em outros sites

  • 0

O problema esta no HTML quando você manda os dados não envia o ID que deve ser alterado ... coloque algo assim ..

<form name="formulario" action="altera_db.php" method="POST">
<input type="hidden" name="id" vaue="<?php echo $dados->id; ?>">

<BR>NOME:<input type="text" size="20" name="nome" value="<?php echo $dados ->nome; ?>"><BR>
....

Ai quando crregar o forulario ira carregar o ID respectivo que deve ser alterado ...

Link para o comentário
Compartilhar em outros sites

  • 0
O problema esta no HTML quando você manda os dados não envia o ID que deve ser alterado ... coloque algo assim ..

<form name="formulario" action="altera_db.php" method="POST">
<input type="hidden" name="id" vaue="<?php echo $dados->id; ?>">

<BR>NOME:<input type="text" size="20" name="nome" value="<?php echo $dados ->nome; ?>"><BR>
....

Ai quando crregar o forulario ira carregar o ID respectivo que deve ser alterado ...

Eu fiz as alterações que você disse mas ainda não está dando certo veja:

<HTML>

<HEAD>

<TITLE>Leodario Agenda</TITLE>

</HEAD>

<BODY>

<?php

$id=$_GET["id"];

include "conexao.php";

$sql = mysql_query("select * from funcionario where id='$id'") or die(mysql_error());

$dados = mysql_fetch_object($sql);

?>

<form name="formulario" action="altera_db.php" method="POST"><BR>

<input type="hidden" value="<?php echo $dados ->id; ?>"><BR>

NOME:<input type="text" size="20" name="nome" value="<?php echo $dados ->nome; ?>"><BR>

USUARIO:<input type="text" size="20" name="usuario" value="<?php echo $dados ->usuario; ?>"><BR>

SENHA:<input type="text" size="20" name="senha" value="<?php echo $dados ->senha; ?>"><BR>

NIVEL:<input type="hidden" name="nivel" value="<?php echo $dados ->nivel; ?>"><BR>

<input type="submit" name="btn" value="Enviar">

</form>

<?php include "listar.php"; ?>

</BODY>

</HTML>

Link para o comentário
Compartilhar em outros sites

  • 0
O problema esta no HTML quando você manda os dados não envia o ID que deve ser alterado ... coloque algo assim ..

<form name="formulario" action="altera_db.php" method="POST">
<input type="hidden" name="id" vaue="<?php echo $dados->id; ?>">

<BR>NOME:<input type="text" size="20" name="nome" value="<?php echo $dados ->nome; ?>"><BR>
....

Ai quando crregar o forulario ira carregar o ID respectivo que deve ser alterado ...

Eu fiz as alterações que você disse mas ainda não está dando certo veja:

<HTML>

<HEAD>

<TITLE>Leodario Agenda</TITLE>

</HEAD>

<BODY>

<?php

$id=$_GET["id"];

include "conexao.php";

$sql = mysql_query("select * from funcionario where id='$id'") or die(mysql_error());

$dados = mysql_fetch_object($sql);

?>

<form name="formulario" action="altera_db.php" method="POST"><BR>

<input type="hidden" value="<?php echo $dados ->id; ?>"><BR>

NOME:<input type="text" size="20" name="nome" value="<?php echo $dados ->nome; ?>"><BR>

USUARIO:<input type="text" size="20" name="usuario" value="<?php echo $dados ->usuario; ?>"><BR>

SENHA:<input type="text" size="20" name="senha" value="<?php echo $dados ->senha; ?>"><BR>

NIVEL:<input type="hidden" name="nivel" value="<?php echo $dados ->nivel; ?>"><BR>

<input type="submit" name="btn" value="Enviar">

</form>

<?php include "listar.php"; ?>

</BODY>

</HTML>

Quando eu coloco <input type="hidden" ---- O ---- size="20"------ não funciona acho que é outro comando de html que não estou sabendo fazer

Link para o comentário
Compartilhar em outros sites

  • 0
você não fez igual eu não :P :P

Meu:

<input type="hidden" name="id" vaue="<?php echo $dados->id; ?>">
Seu:
<input type="hidden" value="<?php echo $dados ->id; ?>"><

Onde está o parametro (name="id") como ele vai receber um valor sem nome

Eu fiz ainda não deu certo rsrs...

<form name="formulario" action="altera_db.php" method="POST"><BR>

<input type="hidden" name="id" vaue="<?php echo $dados->id; ?>">

NOME:<input type="text" size="20" name="nome" value="<?php echo $dados ->nome; ?>"><BR>

USUARIO:<input type="text" size="20" name="usuario" value="<?php echo $dados ->usuario; ?>"><BR>

SENHA:<input type="text" size="20" name="senha" value="<?php echo $dados ->senha; ?>"><BR>

NIVEL:<input type="hidden" size="20" name="nivel" value="<?php echo $dados ->nivel; ?>"><BR>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...