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

Perfil do usuario


jorgeS

Pergunta

Boas gostava que me dessem uma mão na criação de uma pagina onde o usuario pudesse editar as informações do seu perfil!

O meu Código

Banco de dados

CREATE DATABASE IF NOT EXISTS banco_teste;

USE banco_teste;

CREATE TABLE IF NOT EXISTS `acessos` (
  `seq` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `usuario` VARCHAR(20) DEFAULT NULL,
  `dt_entrada` DATETIME DEFAULT NULL,
  `ip` VARCHAR(30) DEFAULT NULL,
  PRIMARY KEY (`seq`)
) ENGINE=MYISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

CREATE TABLE IF NOT EXISTS `usuarios` (
  `username` VARCHAR(20) NOT NULL,
  `senha` VARCHAR(20) DEFAULT NULL,
  `nm_usuario` VARCHAR(80) DEFAULT NULL,
  `email` VARCHAR(80) DEFAULT NULL,
  `cd_setor` INT(10) UNSIGNED DEFAULT NULL,
  `dt_inclusao` DATE DEFAULT NULL,
  `usuario_inclusao` VARCHAR(20) DEFAULT NULL,
  `dt_alteracao` DATE DEFAULT NULL,
  `usuario_alteracao` VARCHAR(20) DEFAULT NULL,
  `hora_inclusao` TIME DEFAULT NULL,
  `hora_alteracao` TIME DEFAULT NULL,
  `admin` CHAR(1) DEFAULT NULL,
  `bloqueado` CHAR(1) DEFAULT NULL,
  `desconectar` CHAR(1) DEFAULT NULL,
  PRIMARY KEY (`username`)
) ENGINE=MYISAM DEFAULT CHARSET=latin1;

INSERT INTO `usuarios` (`username`, `senha`, `nm_usuario`, `email`, `cd_setor`, `dt_inclusao`, `usuario_inclusao`, `dt_alteracao`, `usuario_alteracao`, `hora_inclusao`, `hora_alteracao`, `admin`, `bloqueado`, `desconectar`) VALUES('admin', '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'S', 'N', 'N');
Conecta_mysql.php
<?php
$mysql = mysql_connect('localhost','root') or die("Erro ao se conectar ao MySQL!");

if ($mysql)
{
    $db = mysql_select_db ("banco_teste") or die("Erro ao selecionar DB!");
    if (!$db)
        echo "Falha ao selecionar Banco de Dados";
}
else
{
    echo "<p>Falha ao conectar com o Mysql!";
    exit; 
}

?>
Home.php
<?php
    session_start();
    require "valida_sessao.php";
    include"conecta_mysql.php";    
    //include "permite_acesso.php";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Sistema</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<LINK rel="stylesheet" href="estilo.css"  TYPE="text/css">
</head>
<body>
<h2>Sistema</h2>
<?php
    echo "<h4> Usu&aacute;rio: ".$_SESSION['usuario'].    "</h4>";
?>
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<h2>Area secreta do sistema.</h2>
<p>S&oacute; acessa nesta &aacute;rea se estiver logado.</p>

<h4><a href="logout.php">Sair</a></h4>

</form>

</body>
</html>
validasessao.php
<?php

if(IsSet($_SESSION["usuario"]))
    $usuario = $_SESSION["usuario"];
if(IsSet($_SESSION["senha"]))
    $senha = $_SESSION["senha"];

if(!(empty($usuario) OR empty($senha)))
{
    include "conecta_mysql.php";
    $resultado = mysql_query("SELECT * FROM usuarios WHERE username='$usuario'");
    if(mysql_num_rows($resultado)==1)
    {
        if($senha != mysql_result($resultado,0,"senha"))
        {
            unset ($_SESSION['usuario']);
            unset ($_SESSION['senha']);
            echo "<p align=\"center\">&Aacute;rea restrita, para ter acesso voc&ecirc; precisa estar logado!</p>";
            echo "<p align=\"center\"><a href=\"index.php\">Voltar</a></p>";
            exit;
        }
    }
    else
    {    
        unset ($_SESSION['usuario']);
        unset ($_SESSION['senha']);
        echo "<p align=\"center\">&Aacute;rea restrita, para ter acesso voc&ecirc; precisa estar logado!</p>";
        echo "<p align=\"center\"><a href=\"index.php\">Voltar</a></p>";
        exit;
    }
}
else
{
    echo "<p align=\"center\">&Aacute;rea restrita, para ter acesso voc&ecirc; precisa estar logado!</p>";
       echo "<p align=\"center\"><a href=\"index.php\">Voltar</a></p>";
    exit;
}
    //Verifica se o usuario não esta bloqueado
    $sql = "SELECT username FROM usuarios
            WHERE bloqueado = 'S'
            AND username = '".$_SESSION['usuario']."' ";
    $res = mysql_query($sql);
    $nr = mysql_num_rows($res);
    if ($nr != 0)
    {
        echo "<script language='javascript'> alert('Usuário bloqueado por segurança!'); window.location.href='bloqueado.html'</script>";
            session_destroy();
        
    }
    
        //Verifica se o usuario não esta desconectado
    $sql = "SELECT username FROM usuarios
            WHERE desconectar = 'S'
            AND username = '".$_SESSION['usuario']."' ";
    $res = mysql_query($sql);
    $nr = mysql_num_rows($res);
    if ($nr != 0)
    {
        echo "<script language='javascript'> alert('Sistema em Manutenção!'); window.location.href='manutencao.html'</script>";
        
    }


//mysql_close($con);
?>
Index.php
<html>
<head>
<title>Sistema</title>
<LINK rel="stylesheet"  HREF="estilo.css"  TYPE="text/css">
</head>
<script language="JavaScript">
     function valida(form1)
  {
     if (form1.username.value == "")
          {alert ("Informe o login de acesso.");
        form1.username.focus();
        return false; }
    if (form1.senha.value == "")
        {alert ("Informe a senha de acesso.");
         form1.senha.focus();
         return false;}
    
    
    return true;
  }
  
  </script>
<body >
<h1>
  <div align="left"><img src="imagens/logo1.jpg" width="340" height="88"></div>
  Sistema </h1>
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
  <table width="225" border="0" align="center" cellpadding="3" cellspacing="0" >
    <tr>
      <td align="center" class="texto_normal">Usu&aacute;rio:</td>
    </tr>
    <tr>
      <td><div align="center">
          <input class="texto_normal" name="username" type="text" id="username" size="20" maxlength="20">
        </div></td>
    </tr>
    <tr>
      <td class="texto_normal" align="center">Senha:</td>
    </tr>
    <tr>
      <td><div align="center">
          <input class="texto_normal"="botao" name="senha" type="password" id="senha2" size="20" maxlength="20">
        </div></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><div align="center">
          <input class="botao" type="submit" name="enviar" value="Enviar"  onClick="return valida(form1)">
          <input class="botao" name="btn_limpar" type="reset" id="btn_limpar2" value="Limpar">
        </div></td>
    </tr>
  </table>
  <?php
// obtém os valores digitados
    if (isset($_POST['enviar']))
{    
$username = $_POST["username"];
$senha = $_POST["senha"];

// acesso ao banco de dados
include "conecta_mysql.php";
$resultado = mysql_query("SELECT * FROM usuarios where username='".$username."'");
$linhas = mysql_num_rows ($resultado);
$senha_banco = $linhas['senha'];
if($linhas==0)  // testa se a consulta retornou algum registro
{
        echo "<h4><p align=\"center\">Usu&aacute;rio ou senha inv&aacute;lidos! 69</p></h4>";
}
else
{
       if ($senha != mysql_result($resultado, 0, "senha")) // confere senha
    //if ($senha != $senha_banco)
    {
        echo "<h4><p align=\"center\">Usu&aacute;rio ou senha inv&aacute;lidos! 76</p></h4>";
    }
    else   // usuário e senha corretos. Vamos criar os cookies
    {
        session_start();
        $_SESSION['usuario'] = $username;
        $_SESSION['senha'] = $senha;
        // direciona para a página inicial dos usuários cadastrados
        
function get_ip()
{
    $variables = array('REMOTE_ADDR',
                       'HTTP_X_FORWARDED_FOR',
                       'HTTP_X_FORWARDED',
                       'HTTP_FORWARDED_FOR',
                       'HTTP_FORWARDED',
                       'HTTP_X_COMING_FROM',
                       'HTTP_COMING_FROM',
                       'HTTP_CLIENT_IP');

    $return = 'Unknown';

    foreach ($variables as $variable)
    {
        if (isset($_SERVER[$variable]))
        {
            $return = $_SERVER[$variable];
            break;
        }
    }
    
    return $return;
}

//print get_ip();
//echo "Meu ip ".get_ip();

        $sql = "INSERT INTO acessos (usuario, 
                                    ip,
                                    dt_entrada) 
                            VALUES ('".$_SESSION['usuario']."',
                                    '".get_ip()."',
                                    '".date("Y-m-d H:i:s")."')";
        $res = mysql_query($sql) or die ("Erro na linha 32.<h4>".mysql_error()."</h4>".$sql);        
        //header ("Location: home.php");
        echo "<script language='javascript'> window.location.href='home.php'</script>";
    }
}
//mysql_close($con);
}
?>
  <?php
    if (isset($_POST['enviar']))
    { 
        $i = $_POST['nr'];
        $i = $i + 1;
        $nr = $i;
            
    }
    else
    {  $nr = 0;    }
?>
  <input  type="hidden" name="nr"  value="<?php echo $nr ?>">
  <?php
    if ($nr > 3)
    {
        $sql = "UPDATE usuarios SET
                bloqueado = 'S'
                WHERE username = '".$_POST['username']."' ";
        $res = mysql_query($sql);
        echo "<h4><p align=\"center\">Número de tentativas esgotado.</p></h4>";    
        echo "<h4><p align=\"center\">Usuário bloqueado por segurança.</p></h4>";    
    }
        
?>
</form>
</body>
</html>

Quem puder ajudar...

Obrigado

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Já começou a montar essa página de edição?

Qual seria a dúvida?

Por exemplo não consigo selecionar o id da session!

Consgio editar todos os dados mas atraves de uma pagina que me lista os registados, eu seleciono o que quero e edito, mas eu quero um que selecione quem iniciou sessao!

Obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Aonde salva a sessão você está salvando apenas usuário e senha, é só salvar também o id, mas pelo que vi, ainda não existe um campo de identificação na tabela do banco de dados, precisa ter esse campo (id por exemplo) e de preferência como chave primária e auto increment.

Link para o comentário
Compartilhar em outros sites

  • 0

pois ta certo este srcipt peguei da net mas na mnha bd já tem!

Mas ficava assim era?

session_start();

$_SESSION['usuario'] = $username;

$_SESSION['senha'] = $senha;

$_SESSION['id] = $id;

o usuario e senha ele busca dos campos text mas o id como e ai, como selecciono?

se der para copiar o codigo de cima e fazer so as devidas alterações e que sou um pouco leigo nisto!

E como ficaria a página de edição?

O código de editar propriamente dito??

Editado por jorgeS
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
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...