Gans 0 Denunciar post Postado Fevereiro 23, 2007 Bom eu gostaria de saber qual comando eu devo usar...tratase de um formulario de cadastro...e login..asimmeu tenhu uma pagina login.php quan uqnado entra nala aparece o formulario com campo de login e senha e entrar....ae ele faz o login certinho...mas se você vai no menu e poe Login vai para login.php e aparece o formulario.....eu queria que se a pessoa estivesse logada quando entrar em login.php ele direcionacionasse para a pagina principal.php que é a pagina que depois de validar o formulario se ele estiver certo manda pra principal.phpeu acho que deve ser algum script do tipo array ou stringse algum tem uma solução posta o script pra mim plz.....e tambem uma outra duvida meio parecida....eu quero que la em baixo do meu site esteja um link para login.php e quando estiver logada eu quero que esse link seja logout.phpVlw..... Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 23, 2007 Ambas as dúvidas são solucionadas com uma simples estrutura condicional. :) Você está usando login com sessções? Se for, no topo de login.php coloque: if (isset($_SESSION['login'])) header ("Location: principal.php"); A segunda dúvida é semelhante: if (isset($_SESSION['login'])) //logout else //login []'s Compartilhar este post Link para o post Compartilhar em outros sites
Gans 0 Denunciar post Postado Fevereiro 24, 2007 olha é session sim.... é assim eu uso switch....o arquivo onde fica o formulario chama login.php (?page=myaccount) e o submit dele vai para conta/login.php (?page=login) e dentro do arquivo login.php (o q esta na pasta conta/) tem isso: <?php//obtem os valores digitador$login = $_POST["login"];$senha = $_POST["senha"];//acessa ao banco de dados$cn = mysql_connect("localhost", "root", "");mysql_select_db("cad");$resultado = mysql_query("select * from usuarios where login = '$login'");$linhas = mysql_num_rows($resultado);if ($linhas ==0)//testa se a consulta retornou algum registro{echo "Usuário não encontrado";echo "<a href=login.htm>logar</a>";} else { if ($senha != mysql_result($resultado, 0, "senha"))//confere a senha { echo "Usuário não encontrado"; echo "<a href=login.htm>logar</a>"; }else{//usuario correto.. vamos criar os cookies com sessions... session_start();//nunca esqueça de por isso antes de usar session $_SESSION["login_usuario"] = $login; $_SESSION["senha_usuario"] = $senha; // redireciona par a pagina principal header("Location: ?page=principal"); }}mysql_close($cn);?> como que eu faço ??? Vlw Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 24, 2007 ... mas você disse que na login.php tinha o formulário... :blink: eu tenhu uma pagina login.php quan uqnado entra nala aparece o formulario com campo de login e senha e entrar.... ae ele faz o login certinho... Este código deve ser colocado no topo do script que contém o formuçário: if (isset($_SESSION['login']))//troque 'login' pelo nome de sua variável de sessão header ("Location: principal.php"); :D []'s Compartilhar este post Link para o post Compartilhar em outros sites
Gans 0 Denunciar post Postado Fevereiro 25, 2007 ah mal eh que eu trokei o nome..... mas agora eu puis de volta o login.php eh o que tem o formulario e o efetuar_login.php eh a ação do formulario... no topo de login eu colokei isso oh: <?if (isset($_SESSION['login_usuario']))//troque 'login' pelo nome de sua variável de sessão header ("Location: principal.php");?> porque o codigo do efetuar_login.php é esse: <?phpinclude "conecta.php";//obtem os valores digitador$login = $_POST["login"];$senha = $_POST["senha"];//acessa ao banco de dados$cn = mysql_connect("localhost", "root", "");mysql_select_db("cad");$resultado = mysql_query("select * from usuarios where login = '$login'");$linhas = mysql_num_rows($resultado);if ($linhas ==0)//testa se a consulta retornou algum registro{echo "Usuário não encontrado";echo "<a href=login.htm>logar</a>";} else { if ($senha != mysql_result($resultado, 0, "senha"))//confere a senha { echo "Usuário não encontrado"; echo "<a href=?page=minhaconta>logar</a>"; }else{//usuario correto.. vamos criar os cookies com sessions... session_start();//nunca esqueça de por isso antes de usar session $_SESSION["login_usuario"] = $login; $_SESSION["senha_usuario"] = $senha; // redireciona par a pagina principal header("Location: ?page=principal"); }}mysql_close($cn);?>e não deu certo... quando eu click no menu pra ir pra pagina login.php ele aparece o form.... tentei tbm usar esse codigo: <?if (isset($_SESSION['login']))//troque 'login' pelo nome de sua variável de sessão header ("Location: principal.php");?>e tbm num deu......=/ tentei com include e tbm num deu.... que sera q eu faço ? ^^ Vlw Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 25, 2007 O código que postei deve ir no início da página que contém o formulário. ;) Compartilhar este post Link para o post Compartilhar em outros sites
Gans 0 Denunciar post Postado Fevereiro 26, 2007 intaum eu colokei esse codigho em cima da login.php (onde tem o form) <?if (isset($_SESSION['login_usuario']))//troque 'login' pelo nome de sua variável de sessão header ("Location: principal.php");?> Vlw Compartilhar este post Link para o post Compartilhar em outros sites
Gans 0 Denunciar post Postado Fevereiro 27, 2007 intaum como eu resolvo ? :P Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Fevereiro 27, 2007 O que acontece? dá erro? não acontece nada? poste o código inteiro do login.php. []'s Compartilhar este post Link para o post Compartilhar em outros sites
Gans 0 Denunciar post Postado Março 1, 2007 login.php <?if (isset($_SESSION['login_usuario']))//troque 'login' pelo nome de sua variável de sessão header ("Location: principal.php");?><html><head><title>Login</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><script language="javascript">function regras(url,opc,info){ window.open('regras.php','','width=550,height=150,top=120,left=180,noresizeable');}</script><script language=javascript>function valida_campo(){ <!-- var login = document.formulario.login.value if (login=="") { alert("Faltou seu Login"); document.formulario.login.focus() return false } var senha = document.formulario.senha.value if (senha=="") { alert("Faltou sua Senha"); document.formulario.senha.focus() return false }//--></script><link href="style.css" rel="stylesheet" type="text/css"></head><body><div align="center"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="500" height="50" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="barras/login.swf" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="bgcolor" value="#ffffff" /><embed src="barras/login.swf" quality="high" wmode="transparent" bgcolor="#ffffff" width="500" height="50" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object></div><form name="formulario" onSubmit="return valida_campo()" action="efetuar_login.php" method="post"><table width="500" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td> <table width="238" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="76">Login:</td> <td width="212"><input name="login" type="text" class="input" id="login" maxlength="14"> *</td> </tr> <tr> <td>Senha:</td> <td><input name="senha" type="password" class="input" id="senha" maxlength="14"> *</td> </tr> <tr> <td>IP:</td> <td><input name="ip" type="text" id="ip" value="<?=$_SERVER['REMOTE_ADDR']?>" readonly="true" style="border:1px inset #E8E8E8; background-color: #A2A2A2"> </td> </tr> </table> <p align="center"> <input type="submit" name="Submit" value="Entrar"> </p> </td></tr></table></form></body></html> efetuar_login.php <?phpinclude "conecta.php";//obtem os valores digitador$login = $_POST["login"];$senha = $_POST["senha"];//acessa ao banco de dados$cn = mysql_connect("localhost", "root", "");mysql_select_db("cad");$resultado = mysql_query("select * from usuarios where login = '$login'");$linhas = mysql_num_rows($resultado);if ($linhas ==0)//testa se a consulta retornou algum registro{echo "Usuário não encontrado";echo "<a href=login.htm>logar</a>";} else { if ($senha != mysql_result($resultado, 0, "senha"))//confere a senha { echo "Usuário não encontrado"; echo "<a href=?page=minhaconta>logar</a>"; }else{//usuario correto.. vamos criar os cookies com sessions... session_start();//nunca esqueça de por isso antes de usar session $_SESSION["login_usuario"] = $login; $_SESSION["senha_usuario"] = $senha; // redireciona par a pagina principal header("Location: principal.php"); }}mysql_close($cn);?> principal.php <?phpinclude "valida_session.php";$login_usuario = $_SESSION["login_usuario"];$meses = array(1 => "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho","Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro");$dia = date("j");$mês = date("n");$ano = date("Y");$data_completa = "$dia de $meses[$mês] de $ano";echo "Olá ". ucfirst($login_usuario)."<br>";echo "Hoje é $data_completa";?><html><body><hr><br><br><br><a href="lougout.php">Logout</a></body></hmtl> lougout.php <?phpsession_start();$_SESSION = array();session_destroy();header("Location: home.php");?> Pronto essa eh a estrutura do meu sistema de login.... Vlw Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Março 1, 2007 No seu código tem a solução. Veja esta linha do efetuar_login.php: session_start();//nunca esqueça de por isso antes de usar session Você está verificando a existência de uma variável de sessão sem iniciar a sessão. Deixe assim: login.php (topo) <?php session_start(); if (isset($_SESSION['login_usuario']))//troque 'login' pelo nome de sua variável de sessão header ("Location: principal.php"); ?> Use as tags completas: <?php em vez de <?. http://forum.imasters.com.br/index.php?showtopic=214963 Compartilhar este post Link para o post Compartilhar em outros sites
Gans 0 Denunciar post Postado Março 1, 2007 hmmm valeuuu e o a segunda duvida? seria assim: <?phpsession_start();if (isset($_SESSION['login_usuario'])) {echo '<a href=login.php>Login</a>';elseecho '<a href=lougout.php>Lougout</a>';?>eu tentei isso mas num deu.... ^^ Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Março 1, 2007 N~ao. Voce nao entendeu a l'ogica dessa 'ultima d'uvida. Voce est'a mostrando o link para login.php se a sess~ao estiver ativa. faca o contrario. duas formas de corrigir: <?php session_start(); if (!isset($_SESSION['login_usuario'])) { echo '<a href=login.php>Login</a>'; else echo '<a href=lougout.php>Lougout</a>'; ?>ou <?php session_start(); if (isset($_SESSION['login_usuario'])) { echo '<a href=lougout.php>Lougout</a>'; else echo '<a href=login.php>Login</a>'; ?> OBS: Desculpe-me pelos acentos erraods. Meu teclado acabou de ficar doido. :lol: Vou ver o que aconteceu. :P Compartilhar este post Link para o post Compartilhar em outros sites
Gans 0 Denunciar post Postado Março 1, 2007 hmmm valeu ae Beraldo.... ^^ eu tentei num deu certo mas eu fiz assim oh: <?phpsession_start();if (isset($_SESSION['login_usuario'])) { echo '<a href=lougout.php>Lougout</a>';}if (!isset($_SESSION['login_usuario'])) { echo '<a href=login.php>Login</a>';}?> ae deu certo eu olhando seu codigo percebi o ponto de exclamação antes do isset intaum tentei assim e deu ^^ vlw por me ajuda ae xDD boa sorte com o teclado ueahauehue Compartilhar este post Link para o post Compartilhar em outros sites