Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gans

[RESOLVIDO] Array ou String

Recommended Posts

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

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

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

... 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

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.