Jump to content


Photo

Sistema De Login Usando Sessions E Mysql


  • Faça o login para participar
102 replies to this topic

#46 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 02/08/2004, 10:43

uhhh

nessa pagina teste.php está como o codigo ?

até + !
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#47 CaioMiX-

CaioMiX-

    Turista

  • Usuários
  • 29 posts
  • Sexo:Não informado

Posted 13/08/2004, 15:58

chinellao resolvi :D agora soh falta eu fazer o sistema de painel de controle vleu memo pelo script flw :D
extremetuners.net - tuning não é estilo e sim uma vida
Entre no Site acima clicando aqui!

#48 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 24/05/2005, 17:10

Notice: Undefined index: acao in c:\arquivos de programas\easyphp1-8\www\unifat\admin\loga.php on line 17

Warning: Cannot modify header information - headers already sent by (output started at c:\arquivos de programas\easyphp1-8\www\unifat\admin\loga.php:17) in c:\arquivos de programas\easyphp1-8\www\unifat\admin\loga.php on line 42
teste

esses foram os erros q deram depois q eu loguei... esse é meu arquivo loga.php

session_name("promocao");
session_start();

$root = "./../";
include ($root.'includes/conn.php');

if($_GET['acao'] == "logar") {

   $nome = $_POST['usuario'];
   $q_user = mysql_query("SELECT * FROM unifat_admin WHERE usuario='$nome'");

   if(mysql_num_rows($q_user) == 1) {
   
       $query = mysql_query("SELECT * FROM unifat_admin WHERE usuario='$nome'");
       $dados = mysql_fetch_array($query);
       if($_POST['senha'] == $dados['senha']) {
           session_register("usuario");
           header("Location: index_admin.php");
           exit;
       } else {
           header("Location: index.php?login=falhou&causa=".urlencode('Senha Errada'));
           exit;
       }
   } else {
       header("Location: index.php?login=falhou&causa=".urlencode('User Inválido'));
       exit;
   }
}

//agora a parte que verifica se o login já foi feito
if(!session_is_registered("nome")) {
   header("Location: index.php");
}
?>

obrigado...

Flws...Até mais

Edição feita por: HellBurn, 24/05/2005, 17:12.

Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#49 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 24/05/2005, 22:24

Fala HellBurn..

Isso tá acontecendo pq tu tá mandando algo pro cliente antes das funções da sessão e da header().. Pode ser um print, um echo, ou até mesmo um código HTML..

As funções da sessão deve ser as primeiras coisas do script.. Ou seja, devem estar nas primeiras linhas.. ;)

(y)
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38

#50 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 25/05/2005, 08:56

nao, creio q o problema nao é esse.... agora eu fiz exatamente como esta ai no tuto, os arquivos, banco de dados e tals....
qdo eu entro em login.php da esse erro:

Notice: Undefined index: login in c:\arquivos de programas\easyphp1-8\www\unifat\admin\login.php on line 15
mas aparece o formulario de login certinho...

qdo eu entro em page.php direto sem logar da isso na pagina:

Notice: Undefined index: acao in c:\arquivos de programas\easyphp1-8\www\unifat\admin\loga.php on line 14

Warning: Cannot modify header information - headers already sent by (output started at c:\arquivos de programas\easyphp1-8\www\unifat\admin\loga.php:14) in c:\arquivos de programas\easyphp1-8\www\unifat\admin\loga.php on line 43
Olá 
Notice: Undefined index: nome in c:\arquivos de programas\easyphp1-8\www\unifat\admin\page.php on line 4
,
Aqui vem qualquer coisa, inclusive um link para outras páginas.

Link

e qdo eu me logo corretamente dá isso:

Notice: Undefined index: acao in c:\arquivos de programas\easyphp1-8\www\unifat\admin\loga.php on line 14
Olá ,
Aqui vem qualquer coisa, inclusive um link para outras páginas.

Link

o q pode ser... esta exatamente como passado no tutorial..

Flws...Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#51 snkneo

snkneo

    Normal

  • Usuários
  • 118 posts
  • Sexo:Não informado
  • Localidade:Brazil
  • Interesses:Girls, Sexo, Games

Posted 03/06/2005, 14:36

tipo... eu entrei no cadastro mas eu gostaria que ao exibir a page.php mostrasse os resultados que criei no db tipo
Olá: Marcel
Você mora bem MG
Cidade de Belo Horizonte
etc...
como eu faço pra imprimir isso? :huh:
eu ja tenho as tabelas criadas com os valores nome, estado, cidade, etc...

eu tb quero saber isso

Bom, fazer isso é bem simples..

Tá, depois de verificar se a senha do usuário está correta e tudo mais, tu vai lá e busca as info do usuário (assim como tu citou, cidade, estado, etc...).. Feito isso, é só armazenar cada valor em uma variável, e depois vc registra na seção, tipo assim:

//isso aqui depois de verificar a senha e tudo mais

$cidade = "Belo Horizonte"; //essa info veio de um banco de dados.
$estado = "Minas Gerais"; //essa info tb veio de um banco de dados.

//agora é só registrar na sessão, dessa forma:
session_register("cidade");
session_register("estado");

Pronto, agora, nas pages depois de logado, pra ti chamar as info do user q tá logado, tu faz assim:

<?
//tu pode imprimir direto pro user:

print $HTTP_SESSION_VARS["cidade"];
print $HTTP_SESSION_VARS["estado"];

//ou então armazenar o valor numa variável, para usar depois e/ou mostrar pro user tb

$cidade_user = $HTTP_SESSION_VARS["cidade"];
$estado_user = $HTTP_SESSION_VARS["estado"];

//agora é só exibir

print "Você é de $cidade_user, do estado $estado_user";
?>

Prontinhu.. ;)

Fui.. :P

kra nao entendi... e testei aqui e nao funcionou... nao mostrou nada...

assim como os outros disseram... preciso exibir os dados que estao no banco de dados....

normalmente, qdo eu precisava fazer a lista dos dados do bd, eu pegava a variavel passada da pagina anterior e tals...
mas, com o session, como fazer ?

A parte de login e logoff funcionam normal... mas preciso criar as paginas pra pegar os dados e tals...

pode ajudar ae? :blink:

tentei isso aki: <? print $_SESSION["nome"]; ?> mas nada aparece...

#52 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 03/06/2005, 14:55

nao, creio q o problema nao é esse.... agora eu fiz exatamente como esta ai no tuto, os arquivos, banco de dados e tals....
qdo eu entro em login.php da esse erro:

Notice: Undefined index: login in c:\arquivos de programas\easyphp1-8\www\unifat\admin\login.php on line 15
mas aparece o formulario de login certinho...

qdo eu entro em page.php direto sem logar da isso na pagina:

Notice: Undefined index: acao in c:\arquivos de programas\easyphp1-8\www\unifat\admin\loga.php on line 14

Warning: Cannot modify header information - headers already sent by (output started at c:\arquivos de programas\easyphp1-8\www\unifat\admin\loga.php:14) in c:\arquivos de programas\easyphp1-8\www\unifat\admin\loga.php on line 43
Olá 
Notice: Undefined index: nome in c:\arquivos de programas\easyphp1-8\www\unifat\admin\page.php on line 4
,
Aqui vem qualquer coisa, inclusive um link para outras páginas.

Link

e qdo eu me logo corretamente dá isso:

Notice: Undefined index: acao in c:\arquivos de programas\easyphp1-8\www\unifat\admin\loga.php on line 14
Olá ,
Aqui vem qualquer coisa, inclusive um link para outras páginas.

Link

o q pode ser... esta exatamente como passado no tutorial..

Flws...

Hellhunter.

Não há erro nenhum no script. E tu tb não fez nada de errado.

O q tu chama de erros, na verdade são Notices (notícias), q não interferem em nada no funcionando do script, e são utilizados apenas para desenvolvimento..

Isso é uma configuração do teu PHP.ini.. Uma linha q fala do error_reporting..

Provavelmente no teu PHP.ini, tá como E_ALL.. Por isso mostra os notices, q são desnecessários..

Para q não mostre mais os notices, deixa o teu PHP.ini com a linha do error_reporting assim:

error_reporting  =  E_ALL & ~E_NOTICE


Qto ao Warning.. Ele diz q o motivo do Warning tá na linha 43 do arquivo: loga.php .. Mas este arquivo tem apenas 34 linhas.. Ou seja, alguma tá errada aí nos arquivos do teu PC.. Me mostra o q tem nesse teu arquivo loga.php.. ;) (y)

Espero ter ajudado..

Não eskeça.. Dúvidas?? http://forum.phpclube.com.br/
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38

#53 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 03/06/2005, 15:02

kra nao entendi... e testei aqui e nao funcionou... nao mostrou nada...

assim como os outros disseram... preciso exibir os dados que estao no banco de dados....

normalmente, qdo eu precisava fazer a lista dos dados do bd, eu pegava a variavel passada da pagina anterior e tals...
mas, com o session, como fazer ?

A parte de login e logoff funcionam normal... mas preciso criar as paginas pra pegar os dados e tals...

pode ajudar ae? :blink:

tentei isso aki: <? print $_SESSION["nome"]; ?> mas nada aparece...

Primeiramente, pra tir acesso aos dados q estão na variável $_SESSION, tu tem q iniciar a sessão na página.. Então, como eu falei no início, em todas as páginas que vai querer usar os dados da sessão, tu vai ter que colocar esse código no topo da página:
<?
require("loga.php");
?>
Só assim tu vai poder ter acesso aos dados de $_SESSION..

Pra ti ver se tem alguma coisa na sessão, tu pode fazer assim:
<?
require("loga.php");

print "<pre>";
print_r($_SESSION);
print "</pre>";
?>
Se tu voltar pra página de login, é pq não tem nada na sessão, se tu não voltar pra página de login vai ser mostrado um array com tudo o q em gravado na sessão..

Bom, tu pode dizer agora o q acontece qdo tu usa esse código q passei, aí nós podemos depurar onde está o erro.. ;)

Ainda com dúvidas?? http://forum.phpclube.com.br/

Receba mais atenção neste script: http://forum.phpclub...hp?showtopic=14

Edição feita por: Chinello Cybernético, 03/06/2005, 15:03.

Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38

#54 snkneo

snkneo

    Normal

  • Usuários
  • 118 posts
  • Sexo:Não informado
  • Localidade:Brazil
  • Interesses:Girls, Sexo, Games

Posted 03/06/2005, 15:16

bom... aqui nao tenho erro especificamente...

no caso, entendi q tenho q colocar o loga.php em todas as paginas.. blz

fazendo esse cod q vc passou, retornou:
Array
(
    [email] => neo@abcrede.com.br
)


certo, essa variavel q está no banco está correta. Porem, o meu banco tem uns 15 campos... e gostaria de "puxar" e mostrar na tela do usuario que está logado esses dados.. e a partir daí criar um painel de controle (q depois se isso aki funcionar, creio q consiga fazer... )

bom.. oq eu tentei fazer...:
ja tentei usar a query (q_user) q tem no loga.php:
No meu caso está assim:
    $q_user = mysql_query("SELECT * FROM usuarios WHERE email_user='$email'");
e colocar na pagina que deveria mostrar as infos o seguinte:
$linha = mysql_fetch_array($q_user);
$nome = $linha["nome_user"];
$contato = $linha["contato_user"];

?>
<? echo $contato; ?>


Porem, ao se tentar abrir a pagina, retorno o seguinte erro:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\appserv\www\aluguefacil\user_logado.php on line 26

Oq está errado??

Ja tentei criar outra query na pagina, mas obtenho o mesmo erro...

#55 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 03/06/2005, 16:29

Bom, não sei se tu é o Ariel que agora tá no meu Fórum PHPClube (http://forum.phpclube.com.br/)..

Mas sempre lembrando que pode ser a conexão com o banco de dados..

Para averiguar o erro, adicione um or die() após a query, dessa forma:
$q = mysql_query("SELECT aki dentro") or die (mysql_error());
Isso vai te mostrar o erro.. ;) (y)
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38

#56 snkneo

snkneo

    Normal

  • Usuários
  • 118 posts
  • Sexo:Não informado
  • Localidade:Brazil
  • Interesses:Girls, Sexo, Games

Posted 03/06/2005, 16:39

hehe.. era eu mesmo kra.... é q postei aki antes... ae depois me cadastrei no seu forum....

no problem...

tem uma duvida la.. da uma olhada...

at+

#57 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 03/06/2005, 17:55

blz Chinello... veja se vc concorda comigo....
nao tem sessão aberta ainda, ai eu chamo a pagina de login.... e pelo script a primeira coisa q ele chama é acao... como ele vai localizar acao se ela nao foi criada ainda????
pela logica é isso né....

Flws...
;)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#58 Chinello Cybernético

Chinello Cybernético

    Simplesmente "Chinello"

  • Usuários
  • 1892 posts
  • Sexo:Masculino
  • Localidade:Canoas - RS

Posted 03/06/2005, 18:04

blz Chinello... veja se vc concorda comigo....
nao tem sessão aberta ainda, ai eu chamo a pagina de login.... e pelo script a primeira coisa q ele chama é acao... como ele vai localizar acao se ela nao foi criada ainda????
pela logica é isso né....

Flws...
;)

Com certeza..

Mas isso não é um erro.. O PHP dispara um Notice para isso, e não um erro..

Dá uma olhada na documentação pra intender um pokin mais: http://br2.php.net/errorfunc

;)
Diego Sampaio - kroW - PHP Framework > http://chinelloweb.net/
chinello at gmail dot com

System > Athlon 64 3200+ Mobile | Kubuntu 7.04 Fesity Fawn AMD64 | Kernel 2.6.20-16
Coding @ KDE 3.5.7 | PHP 5.2.1 | Apache 2.2.3 | MySQL 5.0.38

#59 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 03/06/2005, 18:07

blz... é pq eu so queria achar uma solucao para os usuarios do site nao verem esse "notice"...

valeu...
:) Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#60 Inu_yasha

Inu_yasha

    www.inuforum.cjb.net

  • Usuários
  • 269 posts
  • Sexo:Não informado

Posted 02/07/2005, 12:48

como faz pra deslogar?




0 user(s) are reading this topic

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

IPB Skin By Virteq