MARCIA_SP 0 Denunciar post Postado Janeiro 6, 2004 E AI GALERA DO FORUM MINHA DUVIDA AGORA É A SEGUINTE, eu consigui fazer com que minha tela de login validase atraves do meu banco de dados MSSQL, até ai tudo bem, eu vou ter que usar session mesmo???? ai vai meu script index.php <html><head><title>LOGIN</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body bgcolor="#FFFFFF" text="#000000"><div align="center"> <p> </p> <p> </p> <p> </p> <p><font face="Verdana, Arial, Helvetica, sans-serif"><b>LOGIN E SENHA</b></font></p> <p><font face="Verdana, Arial, Helvetica, sans-serif"><b> </b></font></p> <form name="form1" method="post" action="acesso.php"> <img src="../../logonovo2.gif" width="269" height="98"> <table width="22%" border="1"> <tr> <td width="17%"><font face="Verdana, Arial, Helvetica, sans-serif">LOGIN</font></td> <td width="83%"> <input type="text" name="login"> </td> </tr> <tr> <td width="17%"><font face="Verdana, Arial, Helvetica, sans-serif">SENHA</font></td> <td width="83%"> <input type="password" name="senha"> </td> </tr> </table> <p> <input type="submit" name="Submit" value="OK"> </p> <p> </p> </form></div></body></html>acesso.php <?$nome = $HTTP_POST_VARS[login];$pass = $HTTP_POST_VARS[senha];$db = mssql_connect ("IP:1433", "USER", "123");$basedados = mssql_select_db("TestePHP");$confirmacao = mssql_query("SELECT * FROM Usuario WHERE Usuario = '$nome' AND Senha = '$pass'", $db);$contagem = mssql_num_rows($confirmacao);if ( $contagem == 1 ) { include "sucesso.htm"; } else { echo "Você não está logado."; }?>a pagina sucesso.htm é uma pagina simples com uma mensagemAlguem pode me ajudar?????????? Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Janeiro 6, 2004 No começo do script coloque session_start() e pra gravar na sessão: Citar $_SESSION["login"] = $login; // Assim vai gravar o login na sessão Compartilhar este post Link para o post Compartilhar em outros sites
MARCIA_SP 0 Denunciar post Postado Janeiro 6, 2004 eu tenho mesmo que abrir uma seção entaum??? é so colocar isso e pronto???? Citar No começo do script coloque session_start() e pra gravar na sessão: Citar $_SESSION["login"] = $login; // Assim vai gravar o login na sessão Compartilhar este post Link para o post Compartilhar em outros sites
MARCIA_SP 0 Denunciar post Postado Janeiro 6, 2004 caro prescot, naum me aparece nada se eu coloco session_start no inicio do arquivo acesso.php Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Janeiro 6, 2004 É meio óbvio que só colocando session_start não apareça nada, pra pegar o valor da sessão use: Citar $login = $_SESSION["login"];você pode colocar um if, se a senha e o user estiver certo você grava na sessão, caso contrário aparece uma mensagem de erro. Compartilhar este post Link para o post Compartilhar em outros sites
MARCIA_SP 0 Denunciar post Postado Janeiro 6, 2004 naum entendi??????? tem como por ai no meu form? Compartilhar este post Link para o post Compartilhar em outros sites
MARCIA_SP 0 Denunciar post Postado Janeiro 7, 2004 QUANDO EU USO O COMANDO <? include('index.php'); ?>NA MINHA PAGINA A SER BLOQUEADA, ELA ME LEVA PARA O INDEX.PHP QUE É ONDE EU LOGO, QUE É VALIDADO PELO ACESSO.PHP, A RESPOSTA ME APARECE NO PROPRIO ACESSO.PHP, MAIS ESSA RESPOSTA (TERIA QUE SER A PAGINA BLOQUEADA) ME APARECE JUNTO COM INDEX.PHP ENTENDARAM??????? ME DEEM UM HELP PLEASE OLHA SÓ O MEU FORM, EU FIZ SESSION?????????? INDEX.PHP <html><head><title>LOGIN</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body bgcolor="#FFFFFF" text="#000000"><div align="center"> <p> </p> <p> </p> <p> </p> <p><font face="Verdana, Arial, Helvetica, sans-serif"><b>LOGIN E SENHA</b></font></p> <p><font face="Verdana, Arial, Helvetica, sans-serif"><b> </b></font></p> <form name="form1" method="post" action="acesso.php"> <img src="../../logonovo2.gif" width="269" height="98"> <table width="22%" border="1"> <tr> <td width="17%"><font face="Verdana, Arial, Helvetica, sans-serif">LOGIN</font></td> <td width="83%"> <input type="text" name="login"> </td> </tr> <tr> <td width="17%"><font face="Verdana, Arial, Helvetica, sans-serif">SENHA</font></td> <td width="83%"> <input type="password" name="senha"> </td> </tr> </table> <p> <input type="submit" name="Submit" value="OK"> </p> <p> </p> </form></div></body></html>ACESSO.PHP <?$login = $_SESSION["login"];$nome = $HTTP_POST_VARS[login];$pass = $HTTP_POST_VARS[senha];$db = mssql_connect ("ip:1433", "USER", "123");$basedados = mssql_select_db("TestePHP");$confirmacao = mssql_query("SELECT * FROM Usuario WHERE Usuario = '$nome' AND Senha = '$pass'", $db);$contagem = mssql_num_rows($confirmacao);if ( $contagem == 1 ) { include "OK.php"; } else { echo "Você não está logado."; }?> <? include('index.php'); ?><?{$con = mssql_connect ("IP:1433","USER","123")or die ("Conexao com o Servidor não esta OK!!");mssql_select_db ("TestePHP")or die ("Banco de Dados naum encontrado");$SQL = "SELECT * FROM Usuario";$busca = mssql_query($SQL,$con);if( mssql_num_rows($busca) < 1){ echo "nao ha ninguem com este nome";}else{echo "<table border=1>";while ($r = mssql_fetch_array($busca)) {$user = $r[Usuario];$senha = $r[Senha];echo "<tr><td>$user</td><td>$senha</td></tr>"; }echo "</table>";}mssql_close($con);}?> Compartilhar este post Link para o post Compartilhar em outros sites
grldesign 0 Denunciar post Postado Janeiro 7, 2004 Na primeira linha do acesso.php falta o codigo abaixo session_start();Lembre, sempre que for utilizar valores armazenados em sessoes, a primeira linha do arquivo deve conter o session_start(); e arruma lá no acesso.php $_SESSION["login"] = $HTTP_POST_VARS[login];e não $login = $_SESSION["login"];pois você não tinha setado valor pra $SESSION["login"], portanto o $login se tornava uma string vazia.... Um abraço. Compartilhar este post Link para o post Compartilhar em outros sites
grldesign 0 Denunciar post Postado Janeiro 7, 2004 Só que seu script está totalmente sem lógica pelo que notei. VocÊ criou a session antes de verificar se o usuário existe. Ela deve ser criado somente se o usuário exisitir no banco de dados, para utilizar os dados gravados em futuras verificações. Compartilhar este post Link para o post Compartilhar em outros sites
MARCIA_SP 0 Denunciar post Postado Janeiro 7, 2004 Como posso mudar? eu abro a session en qual form????? Compartilhar este post Link para o post Compartilhar em outros sites
grldesign 0 Denunciar post Postado Janeiro 7, 2004 MARCIA_SP disse: Como posso mudar? eu abro a session en qual form????? Após verificar se o usuario existe no banco de dados no arquivo acesso.php. A respeito de fechar sessão, você pode criar um arquivo logout.php <? session_destroy();header ("Location: index.php");?>Terminará a sessão e redirecionará para a index do site. Compartilhar este post Link para o post Compartilhar em outros sites
marcusc 0 Denunciar post Postado Janeiro 7, 2004 Na boa Márcia, acessa aqui: http://br.php.net/manual/pt_BR/ref.session.php Leia com ATENÇÃO e boa vontade que explica tudo o que você quer Compartilhar este post Link para o post Compartilhar em outros sites
grldesign 0 Denunciar post Postado Janeiro 7, 2004 Da uma lida nesse post meu. Quem sabe vocÊ entenda um pouco melhor. POST sobre login com session Compartilhar este post Link para o post Compartilhar em outros sites
MARCIA_SP 0 Denunciar post Postado Janeiro 7, 2004 OK A PARTE DA SESSION ESTÁ QUASE RESOLVIDA, MAIS EU NAUM ENTENDI A RESPOSTA AINDA DO oK.PHP Compartilhar este post Link para o post Compartilhar em outros sites
grldesign 0 Denunciar post Postado Janeiro 7, 2004 Como assim? Você não entende como funciona para validar em outras páginas?Explique melhor... posso ajudar vocÊ. Compartilhar este post Link para o post Compartilhar em outros sites
MARCIA_SP 0 Denunciar post Postado Janeiro 7, 2004 olha o codigo do ok.php <? include('index.php'); ?><?{$con = mssql_connect ("192.168.1.3:1433","Rodrigo","123")or die ("Conexao com o Servidor não esta OK!!");mssql_select_db ("TestePHP")or die ("Banco de Dados naum encontrado");$SQL = "SELECT * FROM Usuario";$busca = mssql_query($SQL,$con);if( mssql_num_rows($busca) < 1){ echo "nao ha ninguem com este nome";}else{echo "<table border=1>";while ($r = mssql_fetch_array($busca)) {$user = $r[Usuario];$senha = $r[Senha];echo "<tr><td>$user</td><td>$senha</td></tr>"; }echo "</table>";}mssql_close($con);}?> é o seguinte, tento entrar nessa pagina certu, me redireciona para o index.php(tela de login) quando eu coloco senha e login corretos ele verifica no acesso.php e minha resposta é a pagina de index.php e a ok.php melhorou??? Compartilhar este post Link para o post Compartilhar em outros sites
grldesign 0 Denunciar post Postado Janeiro 7, 2004 Você está fazendo errado. Não tem como incluir um arquivo e depois outro desse jeito como você quer.VocÊ deve incluir o OK na index. Basta fazer as modificações abaixo: Citar if ( $contagem == 1 ) { header("Location: index.php?acao=logado"); } else { echo "Você não está logado.";}na index, no local onde você quer que apareça a mensagem de logado ou não, coloque o código abaixo Citar <? if($acao == "logado") {$con = mssql_connect ("192.168.1.3:1433","Rodrigo","123")or die ("Conexao com o Servidor não esta OK!!");mssql_select_db ("TestePHP")or die ("Banco de Dados naum encontrado");$SQL = "SELECT * FROM Usuario";$busca = mssql_query($SQL,$con);if( mssql_num_rows($busca) != 1){echo "nao ha ninguem com este nome";}else{echo "<table border=1>";while ($r = mssql_fetch_array($busca)) {$user = $r[usuario];$senha = $r[senha];echo "<tr><td>$user</td><td>$senha</td></tr>"; }echo "</table>";}mssql_close($con);} ?>Testa isso. Compartilhar este post Link para o post Compartilhar em outros sites
MARCIA_SP 0 Denunciar post Postado Janeiro 7, 2004 Você está fazendo errado. Não tem como incluir um arquivo e depois outro desse jeito como você quer.incluir ? naum intendi, naum estou querendo incluir nada eu disse que quando eu logo me aparece a tabela que eu chamei + a tela de index é isso quie eu naum quero q aconteça, deveria só mostar a tabela Compartilhar este post Link para o post Compartilhar em outros sites
grldesign 0 Denunciar post Postado Janeiro 7, 2004 Se você colocou "include('index.php')" é porque incluiu um arquivo. Não intendi direito o que você quer que apareça. Se quer uma tabela com usuario e senha logados somente, deve retirar o código da tela de login da index e coloca-la em um arquivo formulario.php e adicionar as linha em vermelho no codigo que lhe dei anteriormente que funcionará: Citar <? if($acao == "logado") { $con = mssql_connect ("192.168.1.3:1433","Rodrigo","123") or die ("Conexao com o Servidor não esta OK!!"); mssql_select_db ("TestePHP") or die ("Banco de Dados naum encontrado"); $SQL = "SELECT * FROM Usuario"; $busca = mssql_query($SQL,$con); if( mssql_num_rows($busca) != 1) { echo "nao ha ninguem com este nome"; } else { echo "<table border=1>"; while ($r = mssql_fetch_array($busca)) { $user = $r[usuario]; $senha = $r[senha]; echo "<tr><td>$user</td><td>$senha</td></tr>"; } echo "</table>"; } mssql_close($con); } else { include('formulario.php'); } ?> Se logar exibe a tabela...se não estiver logado exibe o formulario. Mas isto é inseguro. Esta verificação deve ser feita com a session, mas isto depois te explico. Primeiro vamos entender isto. Era isso???? Compartilhar este post Link para o post Compartilhar em outros sites
MARCIA_SP 0 Denunciar post Postado Janeiro 7, 2004 Paremos tudo e começamos do inicio Compartilhar este post Link para o post Compartilhar em outros sites