Ir para conteúdo

POWERED BY:

Arquivado

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

franksniper

[Resolvido] Autenticação na mesma página

Recommended Posts

Fala ae galera, beleza?

estou com uma dúvida boba, porém ta me fazendo queimar a mufa. =D

 

Seguinte, ná pagina index.php tenho o um form "Login" e "Senha" quero o seguinte.

 

Se usuário não logado, apareça os campos login e senha, se usuario estiver logado, troque o formulário pelo html exemplo: (Sr. Thiago | Área cliente | Sair ).

 

Alguem pode me ajudar?

agradeço desde já!

Obrgado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite,

 

depois de logado, crie uma variável na sessão.

no index coloque da seguinte forma

 

if (isset($_SESSION['logado']))
{
// coloque aqui o codigo html (Sr. Thiago | Área cliente | Sair ).

} else {
// coloque aqui o código do formulario de login.
}

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

kra mas meu problema ta na autenticação!

faço a ação do form aonde?

na mesma pagina ou em externa?

 

<form action="checar_login.php" name="form" method="post">
		<td width="48%">
		
			<table width="100%" border="0" cellspacing="0" cellpadding="0">
			  <tr>
				<td width="14%" height="33" align="center" valign="middle" class="search">Login:</td>
				<td width="29%" valign="middle"><input name="login" type="text" class="input" value="E-mail" id="login" /></td>
				<td width="31%" align="center" valign="middle" class="search"><input name="senha" type="password" class="input" value="Senha" id="senha" /></td>
				<td width="7%" valign="middle"><input name="submit" value="submit" alt="Botão Ok" type="image" id="submit" src="images/ok.jpg" width="28" height="20"></td>
				<td width="19%" align="center" valign="middle" class="search">Esqueceu sua<br />senha?</td>
			  </tr>
			</table>
			
		</td>
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você faz a autenticação da checar_login.php.

 

ex:


  $sql = "select codigo from usuario where email = '" . $_POST['login'] . "' and senha ='" . $_POST['login'] . "'";

  $resultado = msyql_query($conexao,sql);

  if (mysql_num_rows($resultado) > 0)
  {
     $_SESSION['logado'] = true;
  } else 
  {
     echo "<script> alert('Usuário ou senha invalidos!');</script>";
  }

  echo "<script> window.location = 'index.php';</script>";
  

mas não se esqueça de se proteger contra sql inejction.

consulte: http://www.ajudaphp.com.br/artigos/php/18-protegendo-seu-codigo-php-contra-ataques-de-sql-injection

para saber mais sobre sql injection

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

index.php

 

  <?php
    if (isset($_SESSION['logado']))
	{
		echo "$nome está logado!";
	
	} else {
	
		echo "<form action='checar_login.php' name='form' method='post'>
		<td width='48%'>
		
			<table width='100%' border='0' cellspacing='0' cellpadding='0'>
			  <tr>
				<td width='14%' height='33' align='center' valign='middle' class='search'>Login:</td>
				<td width='29%' valign='middle'><input name='email' type='text' class='input' value='E-mail' id='login' /></td>
				<td width='31%' align='center' valign='middle' class='search'><input name='senha' type='password' class='input' value='Senha' id='senha' /></td>
				<td width='7%' valign='middle'><input name='submit' value='submit' alt='Botão Ok' type='image' id='submit' src='images/ok.jpg' width='28' height='20'></td>
				<td width='19%' align='center' valign='middle' class='search'>Esqueceu sua<br />senha?</td>
			  </tr>
			</table>
			
		</td>
		</form>";
	}
?>

checar_login.php

<?php
if($_SERVER['REQUEST_METHOD'] == "POST"){

                if(isset($_POST['email']) && isset($_POST['senha'])){
                require("SQL.php");                             
                $email = anti_injection($_POST['email']);
                $senha = anti_injection($_POST['senha']);
                $query = mysql_query("SELECT * FROM clientes WHERE email = '$email' AND senha = '$senha'") or die(mysql_error());
                $rTestar = mysql_num_rows($query);
                $row = mysql_fetch_assoc($query);
                           
                                if($rTestar > '0'){
                                          //session_start();
                                                session_register('nome');
                                                session_register('email');
                                                session_register('senha');
                                                $_SESSION['nome'] = $row['nome'];
                                                $_SESSION['email'] = $row['email'];
                                                $_SESSION['senha'] = $row['senha'];
                                                $_SESSION['logado'] = true;
                        	    } else {
                           
                                 	echo "<script> alert('Usuário ou senha invalidos!');</script>";
                           
                                }
								 	
                           
                }

                                       echo "<script> window.location = 'index.php';</script>";
}
?>

Está voltando para a index.php e ainda aparecendo o formulario!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui, o session_start(); estava antes do include!

Agora botei abaixo e funcionou!

 

valeu ae!

brigadao!

Compartilhar este post


Link para o post
Compartilhar em outros sites

versao 5!

 

Deixa eu fazer a útlima pergunta!

 

posso usar este código aqui para servir de verificação na parte do carrinho de compra?

 

if(isset($_POST['email']) && isset($_POST['senha'])){
                require("SQL.php");                             
                $email = anti_injection($_POST['email']);
                $senha = anti_injection($_POST['senha']);
                $query = mysql_query("SELECT * FROM clientes WHERE email = '$email' AND senha = '$senha'") or die(mysql_error());
                $rTestar = mysql_num_rows($query);
                $row = mysql_fetch_assoc($query);
                           
                                if($rTestar > '0'){
                                          //session_start();
                                                session_register('nome');
                                                session_register('email');
                                                session_register('senha');
                                                $_SESSION['nome'] = $row['nome'];
                                                $_SESSION['email'] = $row['email'];
                                                $_SESSION['senha'] = $row['senha'];
                                                $_SESSION['logado'] = true;
                        	    } else {
                           
                                 	echo "<script> alert('Usuário ou senha invalidos!');</script>";
                           
                                }
								 	
                           
                }
				echo "<script> window.location = 'index.php';</script>";

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

para verificar o usuario e senha sim.

 

reparei que nesse código tem uma chaves fechando errada. acima da linha

echo "<script> window.location = 'index.php';</script>";

 

pode ser esse o erro.

 

caso nao seja.

 

me poste o código na integra. (claro sem usuario e senha do seu DB,rs)

 

que eu vou testar aqui e te retorno ele funcionando.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja consegui já, era akela parada de está encima do include!

vlw ae pela paciencia marcio, brigadao!

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.