Ir para conteúdo



Sistema de login com sessão (Simples)


  • Por favor, faça o login para responder
29 respostas neste tópico

#16 malccsi

malccsi
  • Membros
  • 20 posts

Postado 04 August 2010 - 04:11 PM

Tenho em minhas tabelas campos de auditoria: cdusuinc, dtincreg, cdusualt e dtaltreg. São campos para capturar a data/hora da alteração/inserção bem como os códigos do usuário que incluiu/alterou. As datas e hora eu consigo capturar com a função now. Mas como capturo o código do usuário que está logado no sistema? Quando insiro por exemplo os dados da tabela de ramo de atividade, todos os campos são inseridos com exceção dos cdusuinc e cdusualt que ficam em branco no banco.

Meu form de login que é o index:

<!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>Controle de Acesso</title>
<link rel="stylesheet" href="estilo.css" type="text/css" media="screen" >
</head>
<body>
<form method="post" id="frmlogin" name="login" action="rec_login.php" >
<table width="400" border="0" align="center" class="tblogin">
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="Titulo">SCCAC - CONTROLE DE ACESSO!</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td width="13%" rowspan="2"><img src="Cadeado" width="120" height="100" alt="Cadeado" /></td>
<td width="80%" height="46"><label for="login">Login:</label>

<input name="login" class = "input" type="text" id="login" size="20" maxlength="20" /></td>
</tr>
<tr>
<td><label for="senha">Senha:</label>
<input name="senha" class = "input" type="password" id="senha" size="20" maxlength="20" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="enviar" id="enviar" value="Enviar" /></td>
</tr>
</table>
</form>
</body>
</html>

No form de verifica o login tenho:


<?PHP
session_start();
include "conecta_mysql.inc";

$login = $_POST["login"];
$senha = $_POST["senha"];
$resultado = mysql_query ("SELECT CDUSU, NMUSU, LOGIN, SENHA, CDUSUINC, DTINCREG, CDUSUALT, DTALTREG FROM TBUSU WHERE login = $login");
//$cdusuinc = $_POST["cdusuinc"];
//$cdusualt = $_POST["cdusualt"];
$linhas = mysql_num_rows ($resultado);
if($linhas == 0)
{
echo "<html><body>";
echo "<p align=\"center\">Usuário não encontrado!</p>";
echo "<p align=\"center\"><a href = \"index.php\">Voltar</a></p>";
echo "</body></html>";
}
else
{
if($senha != mysql_result($resultado, 0, "senha"))
{
echo "<html><body>";
echo "<p align=\"center\">A senha está incorreta!</p>";
echo "<p align=\"center\"><a href = \"index.php\">Voltar</a></p>";
echo "</body></html>";
}
else
{
session_start();
$_SESSION['login']=$login;
$_SESSION['senha']=$senha;
$_SESSION['cdusuinc']=$cdusuinc;
$_SESSION['cdusualt']=$cdusualt;
//setcookie("usuario", $login);
//setcookie("senha", $senha);
echo '<meta http-equiv="refresh" content="0;URL=principal.php">';
}
}
mysql_close($con);
?>






#17 kinzinho

kinzinho
  • Supervisores
  • 3929 posts

Postado 04 August 2010 - 10:23 PM

altera ai e leia os comentários

$resultado = mysql_query ("SELECT CDUSU, NMUSU, LOGIN, SENHA, CDUSUINC, DTINCREG, CDUSUALT, DTALTREG FROM TBUSU WHERE login = $login");
//$cdusuinc = $_POST["cdusuinc"];
//$cdusualt = $_POST["cdusualt"];
$linhas = mysql_num_rows ($resultado);
if($linhas == 0)
{
echo "<html><body>";
echo "<p align=\"center\">Usuário não encontrado!</p>";
echo "<p align=\"center\"><a href = \"index.php\">Voltar</a></p>";
echo "</body></html>";
}
else
{
if($senha != mysql_result($resultado, 0, "senha"))
{
echo "<html><body>";
echo "<p align=\"center\">A senha está incorreta!</p>";
echo "<p align=\"center\"><a href = \"index.php\">Voltar</a></p>";
echo "</body></html>";
}
else
{
session_start();
$dados = mysql_fetch_array($resultado);
//lembando que se o servidor for linux, os campos da tabela são case sensitive
// então se o campo estiver com letra maisucula, tem que colocar ai em baixo com letra maiuscula

$_SESSION['login']=$dados['login'];
$_SESSION['senha']= $dados['$senha']; //Salvar senha pra que?
$_SESSION['cdusuinc']=$dados['cdusuinc'];
$_SESSION['cdusualt']=$dados['cdusualt'];
//setcookie("usuario", $login);
//setcookie("senha", $senha);
echo '<meta http-equiv="refresh" content="0;URL=principal.php">';
}
}
mysql_close($con);
?>





QUOTE(malccsi @ Aug 4 2010, 04:11 PM) <{POST_SNAPBACK}>
Tenho em minhas tabelas campos de auditoria: cdusuinc, dtincreg, cdusualt e dtaltreg. São campos para capturar a data/hora da alteração/inserção bem como os códigos do usuário que incluiu/alterou. As datas e hora eu consigo capturar com a função now. Mas como capturo o código do usuário que está logado no sistema? Quando insiro por exemplo os dados da tabela de ramo de atividade, todos os campos são inseridos com exceção dos cdusuinc e cdusualt que ficam em branco no banco.

Meu form de login que é o index:

<!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>Controle de Acesso</title>
<link rel="stylesheet" href="estilo.css" type="text/css" media="screen" >
</head>
<body>
<form method="post" id="frmlogin" name="login" action="rec_login.php" >
<table width="400" border="0" align="center" class="tblogin">
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="Titulo">SCCAC - CONTROLE DE ACESSO!</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td width="13%" rowspan="2"><img src="Cadeado" width="120" height="100" alt="Cadeado" /></td>
<td width="80%" height="46"><label for="login">Login:</label>

<input name="login" class = "input" type="text" id="login" size="20" maxlength="20" /></td>
</tr>
<tr>
<td><label for="senha">Senha:</label>
<input name="senha" class = "input" type="password" id="senha" size="20" maxlength="20" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="enviar" id="enviar" value="Enviar" /></td>
</tr>
</table>
</form>
</body>
</html>

No form de verifica o login tenho:


<?PHP
session_start();
include "conecta_mysql.inc";

$login = $_POST["login"];
$senha = $_POST["senha"];
$resultado = mysql_query ("SELECT CDUSU, NMUSU, LOGIN, SENHA, CDUSUINC, DTINCREG, CDUSUALT, DTALTREG FROM TBUSU WHERE login = $login");
//$cdusuinc = $_POST["cdusuinc"];
//$cdusualt = $_POST["cdusualt"];
$linhas = mysql_num_rows ($resultado);
if($linhas == 0)
{
echo "<html><body>";
echo "<p align=\"center\">Usuário não encontrado!</p>";
echo "<p align=\"center\"><a href = \"index.php\">Voltar</a></p>";
echo "</body></html>";
}
else
{
if($senha != mysql_result($resultado, 0, "senha"))
{
echo "<html><body>";
echo "<p align=\"center\">A senha está incorreta!</p>";
echo "<p align=\"center\"><a href = \"index.php\">Voltar</a></p>";
echo "</body></html>";
}
else
{
session_start();
$_SESSION['login']=$login;
$_SESSION['senha']=$senha;
$_SESSION['cdusuinc']=$cdusuinc;
$_SESSION['cdusualt']=$cdusualt;
//setcookie("usuario", $login);
//setcookie("senha", $senha);
echo '<meta http-equiv="refresh" content="0;URL=principal.php">';
}
}
mysql_close($con);
?>


Quer aprender PHP?
http://phparte.blogspot.com

Aguardando o FIM ou FILTRO do PHP...

Não confunda ajudar
com
Criar o script para você!

#18 malccsi

malccsi
  • Membros
  • 20 posts

Postado 04 August 2010 - 11:12 PM

Se eu fizer como abaixo ocorre o seguinte:

Se não digitar o código e a senha:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\SCCAC\rec_login.php on line 7
Usuário não encontrado!
Voltar

Digitando usuário sem senha:

A senha está incorreta!

Voltar

Se digitar a

Digitanto senha sem usuário:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\SCCAC\rec_login.php on line 7

Usuário não encontrado!

Voltar

Digitando o usuário e senha corretos dá erro rápido na parte em que abro a sessão e aparece a página que deveria abrir.


<?PHP
//session_start();
include "conecta_mysql.inc";
$login = $_POST["login"];
$senha = $_POST["senha"];
$resultado = mysql_query ("SELECT CDUSU, NMUSU, LOGIN, SENHA, CDUSUINC, DTINCREG, CDUSUALT, DTALTREG FROM TBUSU WHERE login = $login");
$linhas = mysql_num_rows ($resultado);
if($linhas == 0)
{
echo "<html><body>";
echo "<p align=\"center\">Usuário não encontrado!</p>";
echo "<p align=\"center\"><a href = \"index.php\">Voltar</a></p>";
echo "</body></html>";
}
else
{
if($senha != mysql_result($resultado, 0, "senha"))
{
echo "<html><body>";
echo "<p align=\"center\">A senha está incorreta!</p>";
echo "<p align=\"center\"><a href = \"index.php\">Voltar</a></p>";
echo "</body></html>";
}
else
{
session_start();
$dados = mysql_fetch_array($resultado);
$_SESSION['login']=$dados['login'];
$_SESSION['cdusuinc']=$dados['cdusuinc'];
$_SESSION['cdusualt']=$dados['cdusualt'];
echo '<meta http-equiv="refresh" content="0;URL=principal.php">';
}
}
mysql_close($con);
?>



#19 kinzinho

kinzinho
  • Supervisores
  • 3929 posts

Postado 05 August 2010 - 01:22 PM

Faz assim então

CODE
<?php
session_start();
include "conecta_mysql.inc";

$login = $_POST["login"];
$senha = $_POST["senha"];
$resultado = mysql_query ("SELECT CDUSU, NMUSU, LOGIN, SENHA, CDUSUINC, DTINCREG, CDUSUALT, DTALTREG FROM TBUSU WHERE login='" .$login. "'");
$linhas = @mysql_num_rows($resultado);
if($linhas == 0)
{
    echo "<html><body>";
    echo "<p align=\"center\">Usuário não encontrado!</p>";
    echo "<p align=\"center\"><a href = \"index.php\">Voltar</a></p>";
    echo "</body></html>";
}
else
{
    if($senha != mysql_result($resultado, 0, "senha"))
    {
        echo "<html><body>";
        echo "<p align=\"center\">A senha está incorreta!</p>";
        echo "<p align=\"center\"><a href = \"index.php\">Voltar</a></p>";
        echo "</body></html>";
    }
    else
    {
        $dados = mysql_fetch_array($resultado);
        //lembando que se o servidor for linux, os campos da tabela são case sensitive
        // então se o campo estiver com letra maisucula, tem que colocar ai em baixo com letra maiuscula
        $_SESSION['login']=$dados['login'];
        $_SESSION['senha']= $dados['$senha']; //Salvar senha pra que?
        $_SESSION['cdusuinc']=$dados['cdusuinc'];
        $_SESSION['cdusualt']=$dados['cdusualt'];
        echo '<meta http-equiv="refresh" content="0;URL=principal.php">';
    }
}
mysql_close($con);
?>


QUOTE(malccsi @ Aug 4 2010, 11:12 PM) <{POST_SNAPBACK}>
Se eu fizer como abaixo ocorre o seguinte:

Se não digitar o código e a senha:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\SCCAC\rec_login.php on line 7
Usuário não encontrado!
Voltar

Digitando usuário sem senha:

A senha está incorreta!

Voltar

Se digitar a

Digitanto senha sem usuário:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\SCCAC\rec_login.php on line 7

Usuário não encontrado!

Voltar

Digitando o usuário e senha corretos dá erro rápido na parte em que abro a sessão e aparece a página que deveria abrir.


<?PHP
//session_start();
include "conecta_mysql.inc";
$login = $_POST["login"];
$senha = $_POST["senha"];
$resultado = mysql_query ("SELECT CDUSU, NMUSU, LOGIN, SENHA, CDUSUINC, DTINCREG, CDUSUALT, DTALTREG FROM TBUSU WHERE login = $login");
$linhas = mysql_num_rows ($resultado);
if($linhas == 0)
{
echo "<html><body>";
echo "<p align=\"center\">Usuário não encontrado!</p>";
echo "<p align=\"center\"><a href = \"index.php\">Voltar</a></p>";
echo "</body></html>";
}
else
{
if($senha != mysql_result($resultado, 0, "senha"))
{
echo "<html><body>";
echo "<p align=\"center\">A senha está incorreta!</p>";
echo "<p align=\"center\"><a href = \"index.php\">Voltar</a></p>";
echo "</body></html>";
}
else
{
session_start();
$dados = mysql_fetch_array($resultado);
$_SESSION['login']=$dados['login'];
$_SESSION['cdusuinc']=$dados['cdusuinc'];
$_SESSION['cdusualt']=$dados['cdusualt'];
echo '<meta http-equiv="refresh" content="0;URL=principal.php">';
}
}
mysql_close($con);
?>


Quer aprender PHP?
http://phparte.blogspot.com

Aguardando o FIM ou FILTRO do PHP...

Não confunda ajudar
com
Criar o script para você!

#20 malccsi

malccsi
  • Membros
  • 20 posts

Postado 05 August 2010 - 05:36 PM

QUOTE(kinzinho @ Aug 5 2010, 01:22 PM) <{POST_SNAPBACK}>
Faz assim então

CODE
<?php
session_start();
include "conecta_mysql.inc";

$login = $_POST["login"];
$senha = $_POST["senha"];
$resultado = mysql_query ("SELECT CDUSU, NMUSU, LOGIN, SENHA, CDUSUINC, DTINCREG, CDUSUALT, DTALTREG FROM TBUSU WHERE login='" .$login. "'");
$linhas = @mysql_num_rows($resultado);
if($linhas == 0)
{
    echo "<html><body>";
    echo "<p align=\"center\">Usuário não encontrado!</p>";
    echo "<p align=\"center\"><a href = \"index.php\">Voltar</a></p>";
    echo "</body></html>";
}
else
{
    if($senha != mysql_result($resultado, 0, "senha"))
    {
        echo "<html><body>";
        echo "<p align=\"center\">A senha está incorreta!</p>";
        echo "<p align=\"center\"><a href = \"index.php\">Voltar</a></p>";
        echo "</body></html>";
    }
    else
    {
        $dados = mysql_fetch_array($resultado);
        //lembando que se o servidor for linux, os campos da tabela são case sensitive
        // então se o campo estiver com letra maisucula, tem que colocar ai em baixo com letra maiuscula
        $_SESSION['login']=$dados['login'];
        $_SESSION['senha']= $dados['$senha']; //Salvar senha pra que?
        $_SESSION['cdusuinc']=$dados['cdusuinc'];
        $_SESSION['cdusualt']=$dados['cdusualt'];
        echo '<meta http-equiv="refresh" content="0;URL=principal.php">';
    }
}
mysql_close($con);
?>


QUOTE(malccsi @ Aug 4 2010, 11:12 PM) <{POST_SNAPBACK}>
Se eu fizer como abaixo ocorre o seguinte:

Se não digitar o código e a senha:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\SCCAC\rec_login.php on line 7
Usuário não encontrado!
Voltar

Digitando usuário sem senha:

A senha está incorreta!

Voltar

Se digitar a

Digitanto senha sem usuário:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\SCCAC\rec_login.php on line 7

Usuário não encontrado!

Voltar

Digitando o usuário e senha corretos dá erro rápido na parte em que abro a sessão e aparece a página que deveria abrir.


<?PHP
//session_start();
include "conecta_mysql.inc";
$login = $_POST["login"];
$senha = $_POST["senha"];
$resultado = mysql_query ("SELECT CDUSU, NMUSU, LOGIN, SENHA, CDUSUINC, DTINCREG, CDUSUALT, DTALTREG FROM TBUSU WHERE login = $login");
$linhas = mysql_num_rows ($resultado);
if($linhas == 0)
{
echo "<html><body>";
echo "<p align=\"center\">Usuário não encontrado!</p>";
echo "<p align=\"center\"><a href = \"index.php\">Voltar</a></p>";
echo "</body></html>";
}
else
{
if($senha != mysql_result($resultado, 0, "senha"))
{
echo "<html><body>";
echo "<p align=\"center\">A senha está incorreta!</p>";
echo "<p align=\"center\"><a href = \"index.php\">Voltar</a></p>";
echo "</body></html>";
}
else
{
session_start();
$dados = mysql_fetch_array($resultado);
$_SESSION['login']=$dados['login'];
$_SESSION['cdusuinc']=$dados['cdusuinc'];
$_SESSION['cdusualt']=$dados['cdusualt'];
echo '<meta http-equiv="refresh" content="0;URL=principal.php">';
}
}
mysql_close($con);
?>



Opa! Agora está quase 100% filé. Mas continuo sem conseguir capturar o código do usuário que inseriu. E na hora que logo corretamente, antes de aparecer a tela do meu sistema, rapidamente aparece:

Warning: Unknown: Your script possibly relies on a session side-effect wich existed until PHP 4.2.3. Pleas be advised that the session extension does not consider global variables as a source of data. Unless register_globals is enabled. You can disable this functionality and this warning by setting session bug_compat_42 or session bug_compat_warn to off, respectively. In Unknown on line 0.

E logo em seguida surge a tela normalmente.

O que pode ser?

Valeu.

#21 kinzinho

kinzinho
  • Supervisores
  • 3929 posts

Postado 05 August 2010 - 05:48 PM

se você der

<?php
echo '<pre>';
var_dump($_SESSION);
echo '</pre>';
?>

nas outras páginas não exibe o cdusuinc e o cdusualt ??
Quer aprender PHP?
http://phparte.blogspot.com

Aguardando o FIM ou FILTRO do PHP...

Não confunda ajudar
com
Criar o script para você!

#22 malccsi

malccsi
  • Membros
  • 20 posts

Postado 05 August 2010 - 06:55 PM

QUOTE(kinzinho @ Aug 5 2010, 05:48 PM) <{POST_SNAPBACK}>
se você der

<?php
echo '<pre>';
var_dump($_SESSION);
echo '</pre>';
?>

nas outras páginas não exibe o cdusuinc e o cdusualt ??


Eles aparecem com o valor null.

#23 kinzinho

kinzinho
  • Supervisores
  • 3929 posts

Postado 05 August 2010 - 08:10 PM

Então os dados não estão chegando na query de consulta debuga ela ai pra ver o que tá retornando tipo assim

$resultado = mysql_query ("SELECT CDUSU, NMUSU, LOGIN, SENHA, CDUSUINC, DTINCREG, CDUSUALT, DTALTREG FROM TBUSU WHERE login='" .$login. "'");
$debug = mysql_fetch_array($resultado);
echo '<pre>';
var_dump($debug);
echo '</pre>';

QUOTE(malccsi @ Aug 5 2010, 06:55 PM) <{POST_SNAPBACK}>
QUOTE(kinzinho @ Aug 5 2010, 05:48 PM) <{POST_SNAPBACK}>
se você der

<?php
echo '<pre>';
var_dump($_SESSION);
echo '</pre>';
?>

nas outras páginas não exibe o cdusuinc e o cdusualt ??


Eles aparecem com o valor null.


Quer aprender PHP?
http://phparte.blogspot.com

Aguardando o FIM ou FILTRO do PHP...

Não confunda ajudar
com
Criar o script para você!

#24 malccsi

malccsi
  • Membros
  • 20 posts

Postado 05 August 2010 - 08:35 PM

QUOTE(kinzinho @ Aug 5 2010, 08:10 PM) <{POST_SNAPBACK}>
Então os dados não estão chegando na query de consulta debuga ela ai pra ver o que tá retornando tipo assim

$resultado = mysql_query ("SELECT CDUSU, NMUSU, LOGIN, SENHA, CDUSUINC, DTINCREG, CDUSUALT, DTALTREG FROM TBUSU WHERE login='" .$login. "'");
$debug = mysql_fetch_array($resultado);
echo '<pre>';
var_dump($debug);
echo '</pre>';

QUOTE(malccsi @ Aug 5 2010, 06:55 PM) <{POST_SNAPBACK}>
QUOTE(kinzinho @ Aug 5 2010, 05:48 PM) <{POST_SNAPBACK}>
se você der

<?php
echo '<pre>';
var_dump($_SESSION);
echo '</pre>';
?>

nas outras páginas não exibe o cdusuinc e o cdusualt ??


Eles aparecem com o valor null.

frmcadrmativ.html





Aparece simplesmente NULL. Kinzinho vou te enviar o código por aqui dos forms e estilo para vc tentar verificar aí. Não é para abusar da sua paciência, mas é que acho que assim agilizamos as coisas.


Index.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>Controle de Acesso</title>
<link rel="stylesheet" href="estilo.css" type="text/css" media="screen" >
</head>
<body>
<TABLE BORDER=0 width="100%"><tr><td valing=center>
<BR><BR><center><font face="verdana, arial" size="2"><BR>
</center>
<table align="center">
<tr>
<td bgcolor="#999999">
<table cellspacing="1" cellpadding="0" width="100%">
<tr>
<td bgcolor="#EAEAEA" >
<table cellspacing="2" width="100%" cellpadding="5" border="0">
<form action="rec_login.php" method="post">
<tr class="Titulo">
<td colspan="3"><center spry.widget.validationtextfield="Titulo">
<font face="verdana, arial" size="2"><b>SCCAC CONTROLE DE ACESSO!</b></span>
</center>
</td>
</tr>
<tr>
<td bgcolor="#EFEFEF">&nbsp;</td>
<td bgcolor="#EFEFEF"><font face="verdana, arial" size="2"></td>
<td bgcolor="#EFEFEF">&nbsp;</td>
</tr>
<tr>
<td rowspan="2" bgcolor="#FFFFFF"><img src="Imagens/Cadeado.png" width="79" height="103" alt="cadeado" /></td>
<td bgcolor="#FFFFFF"><b>Usuário:</b></td>
<td bgcolor="#FFFFFF"><input type="text" name="login" value="" /></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><font face="verdana, arial" size="2"><b>Senha:</b></td>
<td bgcolor="#FFFFFF"><input type="password" name="senha" value="" /></td>
</tr>
<tr>
<td colspan="3" bgcolor="#FFFFFF">
<center>
<input type="submit" name="Entrar" value="Entrar" class="button">
<input type="reset" name="Limpar" value="Limpar" class="button">
</center>
</td>
</tr>
<tr>
<td colspan="3" bgcolor="#FFFFFF">&nbsp;</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<center><a href='frmcadusuario.html'>Se voce ainda não é cadastrado clique aqui</a>
</td></TR></TABLE>
</body>
</html>


rec_login.php

<?php
session_start();
include "conecta_mysql.inc";
$login = $_POST["login"];
$senha = $_POST["senha"];
$resultado = mysql_query ("SELECT CDUSU, NMUSU, LOGIN, SENHA, CDUSUINC, DTINCREG, CDUSUALT, DTALTREG FROM TBUSU WHERE login='" .$login. "'");
$linhas = @mysql_num_rows($resultado);
if($linhas == 0)
{
echo "<html><body>";
echo "<p align=\"center\">Usuário não encontrado!</p>";
echo "<p align=\"center\"><a href = \"index.php\">Voltar</a></p>";
echo "</body></html>";
}
else
{
if($senha != mysql_result($resultado, 0, "senha"))
{
echo "<html><body>";
echo "<p align=\"center\">A senha está incorreta!</p>";
echo "<p align=\"center\"><a href = \"index.php\">Voltar</a></p>";
echo "</body></html>";
}
else
{
$dados = mysql_fetch_array($resultado);
//session_start();
$_SESSION['login']=$dados['login'];
$_SESSION['cdusuinc']=$dados['cdusuinc'];
$_SESSION['cdusualt']=$dados['cdusualt'];
echo '<meta http-equiv="refresh" content="0;URL=principal.php">';
}
}
mysql_close($con);
?>

frmcadrmativ.html

<!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>Cadastro de Ramo de Atividade</title>
<link rel="stylesheet" href="estilo.css" type="text/css" media="screen" >

<script type="text/javascript">
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
</script>
</head>
<body onload="MM_preloadImages('Imagens/edit.png')"><form method="post" action="rec_cadrmativ.php" name="frmrmativ"><table width="70%" border="1" align="center">
<tr>
<td height="36" class="Titulo">Cadastro de Ramo de Atividade</td>
</tr>
</table>
<table width="70%" border="0" align="center">
<tr>
<td><img src="Imagens/Symbol-Add.png" width="40" height="40" alt="Inserir" /></td>
<td><a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Alterar','','Imagens/edit.png',1)"><img src="Imagens/edit.png" alt="Alterar" name="Alterar" width="40" height="40" border="0" align="middle" id="Alterar" /></a></td>
<td><img src="Imagens/Bin (with item).png" alt="Excluir" width="40" height="40" align="middle" /></td>
<td><img src="Imagens/Floppy Drive 3.png" alt="Salvar" width="40" height="40" align="middle" /></td>
<td><img src="Imagens/Undo.png" width="45" height="45" alt="Cancelar" /></td>
<td><img src="Imagens/find.png" alt="Pesquisar" width="40" height="40" align="middle" /></td>
<td><img src="Imagens/1leftarrow.png" alt="Primeiro" width="40" height="40" align="right" /></td>
<td><img src="Imagens/2leftarrow.png" alt="Anterior" width="40" height="40" align="right" /></td>
<td><img src="Imagens/2rightarrow.png" alt="Proximo" width="40" height="40" align="middle" /></td>
<td><img src="Imagens/1rightarrow.png" alt="Ultimo" width="40" height="40" align="middle" /></td>
</tr>
</table>
<table width="70%" border="0" align="center">
<tr>
<td colspan="2">&nbsp;</td>
<td width="57%">&nbsp;</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td width="18%">&nbsp;</td>
<td width="25%"><label >Código:</label></td>
<td><label for="cd"></label>
<input name="codigo" class = "input" type="text" id="cd" size="5" maxlength="5" readonly="readonly" /> <input type = "hidden" name="operacao" value="incluir" />
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><label><span class="Lbl">Ramo de Atividade</span>:</label>
&nbsp;</td>
<td><label for="rmativ"></label>
<input name="ramo" class = "input" type="text" id="rmativ" size="40" maxlength="40" /></td>
</tr>
<tr>
<td colspan="3">&nbsp;</td>
</tr>
<tr>
<td colspan="3">&nbsp;</td>
</tr>
<tr>
<td colspan="3">&nbsp;</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
<p>
<input type="submit" name="Inserir" id="Inserir" value="Enviar" />
</p>
</form>
</body>
</html>

rec_cadrmativ.php

<?PHP
session_start();
include "conecta_mysql.inc";
?>

<?PHP
$operacao = $_POST["operacao"];
$ramo = $_POST["ramo"];
$cdusuinc = $_POST["cdusuinc"];
$cdusualt = $_POST["cdusualt"];
$incluir = 0;
$erro = 0;
//$hora = date('H:i:s');
//$dtincreg = now();//date ("d:m:Y", time('H:i:s'));
//$dtaltreg = now();//date ("d:m:Y", time('H:i:s'));
if (empty($ramo))
{
echo "Digite o ramo de atividade.<br>";
$erro = 1;
echo "<p align=\"center\"><a href = \"frmcadrmativ.html\">Voltar</a></p>";
}
else
if ($operacao=="incluir")
{
$incluir = 1;
$sql = "INSERT INTO tbrm_ativ values ('','$ramo', '$cdusuinc', now(), '$cdusualt', now())";
mysql_query ($sql) or die("Não foi possível inserir.");
echo "Ramo de atividade incluído com sucesso.";
}
mysql_close($con);
?>

estilo.css

body
{
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
text-align: center;
font-weight: bold;
}

.Titulo
{
font-size: 16px;
text-align: center;
background-color: #006;
font-weight: bold;
color: #FFF;
border: 0;
}

input
{
align: left;
}

Lbl
{
font-family: Arial, Helvetica, sans-serif;
font-weight:bold;
}


tblogin
{
border:1 solid #006;
width:35%;
left: 200px;
top: 200px;
right: 200px;
bottom: 200px;
clip: rect(auto,auto,auto,auto);
}
.pmenu {
text-align: center;
background-color: #006;
}

CREATE DATABASE `sia` DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;
USE sia;



CREATE TABLE `SIA`. `TbUsu`(
`CdUsu` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`NmUsu` Varchar(40) NOT NULL,
`Login` Varchar(20) NOT NULL,
`Senha` Varchar(20) NOT NULL,
`CdUsuinc` CHAR( 20 ) NOT NULL,
`Dtincreg` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`Cdusualt` CHAR( 20 ) NOT NULL,
`Dtaltreg` TIMESTAMP NOT NULL,
UNIQUE (
`Login`
)
) ENGINE = MyISAM;


CREATE TABLE `SIA`.`TbRm_Ativ` (
`CdRmAtiv` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`NmRmAtiv` VARCHAR( 40 ) NOT NULL ,
`CdUsuinc` CHAR( 20 ) NOT NULL ,
`Dtincreg` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
`Cdusualt` CHAR( 20 ) NOT NULL ,
`Dtaltreg` TIMESTAMP NOT NULL ,
UNIQUE (
`NmRmAtiv`
)
) ENGINE = MyISAM;

conecta_mysql.inc

<?php
include "conf.php"; // inclui o arquivo conf.php
$con = mysql_connect($host,$user,$pass); // ciar uma conexao com o banco de dados
mysql_select_db($dbname);
?>

conf.php

<?php
$host = "localhost"; //Host onde a página se encontra
$dbname = "sia"; //Nome do banco de dados q armazena os dados
$user = "root"; //Nome do usuário q tem acesso ao banco de dados
$pass = ""; //Senha do usuário q tem acesso ao banco de dados

/* $userNameIsUnique = true;
$passwordIsValid = true;
$userIsEmpty = false;
$passwordIsEmpty = false;
$password2IsEmpty = false; */
?>

#25 csouza

csouza
  • Membros
  • 22 posts

Postado 07 December 2010 - 05:59 PM

Oi,
Pessoal estou com um sistema bem parecido, o meu problema é o seguinte:
Independente do usuário que faz o login, aparece sempre o mesmo usuário, ou seja, o código está sempre selecionando o id com valor 1, desta forma:

o id 1 é do usuário João
ao logar com o usuário Pedro, o sistema pega no banco $id = 1;, que é João.
ao logar com o usuário José, o sistema pega no banco $id = 1;, que é João...

Seja quem for que faça o login o usuário mostrado na página restrita é sempre João.

Como faço para imprimir na tela ou id=1, ou id=2, ou id=3, ou id=4 ou..., correspondendo a quem se logou?
ex.: eu sou clayton, ao logar no sistema e entrar na página restrita vou ver, Bem vindo Clayton!

o código está assim:

Segue o código da página index:

<?php
        session_start();
        if(isset($_GET['acao']) && $_GET['acao'] == 'sair'):
                unset($_SESSION['email']);
                unset($_SESSION['senha']);
                session_destroy();
        endif;
        
         if(!isset($_SESSION['email']) && !isset($_SESSION['senha'])):
            header("location:../login.php");
        endif;
		
		
?>

<!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=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>

<?php

 error_reporting(E_ALL);  
    ini_set('display_errors', '1');

 mysql_connect("localhost", "root", "") or die(mysql_error());
        mysql_select_db("teste") or die(mysql_error());

$id = 1; 
$sql = "SELECT * FROM usuarios WHERE id_user = " . $id;
$limite = mysql_query("$sql");
while ($sql = mysql_fetch_array($limite) ) {
$id_user = $sql["id_user"];
$nome_user = $sql["nome_user"];
$email_user = $sql["email_user"];
$senha_user = $sql["senha_user"];

$default = "http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=40";    
            $size = 40;                   
            $grav_url = "http://www.gravatar.com/avatar/" . md5( strtolower( trim( $email_user ) ) ) . "?d=" . urlencode( $default ) . "&s=" . $size;
			?>
			

			<img src="<?php echo $grav_url; ?>" alt="" /><?php echo $nome_user; ?>, <h4>Bem vindo(a)!<br> Você está logado.</h4>
			<?php
			}
			?>

			
<a href="?acao=sair">Sair</a>

</body>
</html>


#26 kinzinho

kinzinho
  • Supervisores
  • 3929 posts

Postado 11 December 2010 - 07:16 PM

já resolveu ai brother?
Quer aprender PHP?
http://phparte.blogspot.com

Aguardando o FIM ou FILTRO do PHP...

Não confunda ajudar
com
Criar o script para você!

#27 Jhonas5

Jhonas5
  • Membros
  • 18 posts

Postado 29 December 2010 - 09:40 PM

Eu não entendo nada de PHP muito menos sobre o tal do phpMyAdimin já ouvi falar várias vezes, já olhei vários tutoriais e não entendi nada, eu escrevi neste tópico por que é exatamente o que eu quero, é criar um sistema de login, eu queria saber se tem como usar PHP sem usar MySQL ou o phpMyAdimin.

#28 kinzinho

kinzinho
  • Supervisores
  • 3929 posts

Postado 03 January 2011 - 06:49 PM

Tem uai, só que será uma grande porcaria sem segurança seu sistema = ]

Phpmyadmin é um script que te ajuda a gerenciar o banco de dados
Mysql é o banco de dados = ]

Qual a dúvida?

Visualizar PostJhonas5, em 29 December 2010 - 09:40 PM, disse:

Eu não entendo nada de PHP muito menos sobre o tal do phpMyAdimin já ouvi falar várias vezes, já olhei vários tutoriais e não entendi nada, eu escrevi neste tópico por que é exatamente o que eu quero, é criar um sistema de login, eu queria saber se tem como usar PHP sem usar MySQL ou o phpMyAdimin.

Quer aprender PHP?
http://phparte.blogspot.com

Aguardando o FIM ou FILTRO do PHP...

Não confunda ajudar
com
Criar o script para você!

#29 adrianoantunes@advir.com

adrianoantunes@advir.com
  • Membros
  • 1 posts

Postado 27 April 2012 - 01:14 PM

Alguem pode me ajudar, quero colocar em meu site um sistema de sessão, so quero que os usuarios fação um cadastro e guardar as informaçoes em um banco de dados, e que peção autenticação via e-mail, como faço alguém ai me ajude.

#30 kinzinho

kinzinho
  • Supervisores
  • 3929 posts

Postado 30 April 2012 - 09:48 PM

Poderia me esclarecer qual seria o conceito de ajuda?
Quer aprender PHP?
http://phparte.blogspot.com

Aguardando o FIM ou FILTRO do PHP...

Não confunda ajudar
com
Criar o script para você!




0 usuário(s) está(ão) lendo este tópico

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)