Ir para conteúdo

Arquivado

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

- KbeçãO -

Login...

Recommended Posts

ele n ta criando a sessao, pq acusou esse erro:

[Fri Mar 25 10:18:29 2011] [error] [client 127.0.0.1] PHP Notice: Undefined variable: dados in D:\\AKBECAO\\web\\homes_php\\Sim\\resp_log.php on line 18, referer: http://localhost/sim/index.php

 

<?php


       include('porta_copo.php');

               $login = $_POST['nome'];
               $senha = $_POST['senha'];

               if(empty($login) or empty($senha)){
                       $resp = "<script>alert('Nenhum campo pode fica vazio.');top.location.href='index.php' ;</script>";
               }
               else{
                       $sql = "SELECT * FROM login WHERE login LIKE {$login} AND senha LIKE {$senha}"; //seleção de dados do banco de dados
                       $comando = mysql_query ($sql);
                       $user = mysql_fetch_array($comando); 
                       $dados = mysql_num_rows ($comando); //dados
               }
                       if($dados == 1){
                               session_start();
                               $_SESSION["usuariologado"] = $login;
                               $_SESSION["nomeuser"] = $user['nome'];
                               $_SESSION["sexouser"] = $user['sexo'];
                               header("Location: index.php");
                       }

                       else{
                               $resp = "<script>alert('Usuário ou senha invalidos.');top.location.href='index.php' ;</script>";
                       }


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz isso olha.

 

<?php


       include('porta_copo.php');

               $login = $_POST['nome'];
               $senha = $_POST['senha'];

             echo '<pre>'; var_dump($login, $senha); echo '</pre>';
               if(empty($login) or empty($senha)){
                       echo 'você nao digitou o usuario ou senha';
               }
               else{
                       $sql = "SELECT * FROM login WHERE login LIKE {$login} AND senha LIKE {$senha}"; //seleção de dados do banco de dados
                       $comando = mysql_query ($sql) or die('Erro: '.mysql_error());
                       $user = mysql_fetch_array($comando); 
                       $dados = mysql_num_rows ($comando); //dados
                       echo 'estamos aqui';
               }
                       if($dados == 1){
                              /* session_start();
                               $_SESSION["usuariologado"] = $login;
                               $_SESSION["nomeuser"] = $user['nome'];
                               $_SESSION["sexouser"] = $user['sexo'];
                               header("Location: index.php");*/
                             echo 'entrou nessa m*****';
                       }

                       else{
                               echo 'usuario ou senha invalidos';
                       }


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desbuga seu código inteiro.........

 

<?php


       include('porta_copo.php');

               $login = $_POST['nome'];
               $senha = $_POST['senha'];

             echo '<pre>'; var_dump($login, $senha); echo '</pre>';
               if(empty($login) or empty($senha)){
                       echo 'você nao digitou o usuario ou senha';
               }
               else{
                       $sql = "SELECT * FROM login WHERE login LIKE {$login} AND senha LIKE {$senha}"; //seleção de dados do banco de dados
                       $comando = mysql_query($sql) or die('Erro: '.mysql_error());
                       $user = mysql_fetch_array($comando); 
                       $dados = mysql_num_rows ($comando); //dados
                       echo 'estamos aqui';
               }
                       if($dados == 1){
                              session_start();

                               $_SESSION["usuariologado"] = $login;
                             /*  $_SESSION["nomeuser"] = $user['nome'];
                               $_SESSION["sexouser"] = $user['sexo'];
                               header("Location: index.php");*/
                             echo 'entrou nessa m*****';
                              var_dump($_SESSION["usuariologado"]);
                       }

                       else{
                               echo 'usuario ou senha invalidos';
                       }


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

kkk

fiz o teste que o Andre falou..

colouei:

 

if($dados == 1){
                               $_SESSION["usuariologado"] = $login;/*
                               $_SESSION["nomeuser"] = $user['nome'];
                               $_SESSION["sexouser"] = $user['sexo'];
                               header("Location: index.php");*/
		echo "entrou nessa p**** !!!";
                       }

 

e ele me retornou:

 

int(1) entrou nessa p**** !!!

 

ou seja, ele acha o valor na consulta,

cria a sessao, mas n altera o include na index.php...

estao afunilando os erros

 

bom galera..

agora vou almoçar...

2h da tarde volto pra continuar quebrando a cabeça...

x/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele não está incluindo o conteudo index.php, por causa da sessao, ou seja, ele vai dar aquele erro de buffer? Voce deixa oculto os erros?

 

Faz assim para ver como vai funcionar.

if($dados == 1){
   $_SESSION['usuariologado'] = $login;
   $_SESSION['nomeuser']      = $user['nome'];
   $_SESSION['sexouser']      = $user['sexo'];

   echo '<script type="text/javascript">alert("Redirecionando, clique em OK"); location.href="index.php";</script>';
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

af..

desisti...

vou deixar isso pra outra hora...

ele entra no If, envia o alerta de redirecionamento, volta pra index, mas n inclui o logado.php la no canto...

tentei ate o seguinte:

 

//antes do doctype da index:

<?php

if($_SESSION["usuariologado"]){
	$ico = "";
	session_start();
	$user = $_SESSION["nomeuser"];
	$sexo = $_SESSION["sexouser"];

	if ( $sexo == 'M' ){

		$ico = "<img src ='imgs/icones/mulher_ico.jpg>";

	}else{

		$ico ="<img src = 'img/icones/homem_ico.jpg>";

		}
}
?>

 

la na div acesso:

 

<div id="acesso" align="center">
              <?php 
				if(!isset($_SESSION["usuariologado"])){

				echo "

					<form method='post' action='resp_log.php'>
						<fieldset>
							<legend>..:: Área do Cliente ::..</legend>
							<label><strong>Login:</strong></label><input type='text' size='9' name='nome'/>
							<label><strong>Senha:</strong></label><input type='password' size='9' name='senha'/>
						</fieldset>

						<div id='button_container'>
							<button class='acesso_button' type='reset'>Limpa</button>
							<button id='enviar' class='acesso_button' type='submit'>Entrar</button>
						</div>
					</form>

				";

				}else{

				echo "

						<legend>..:: Seja Bem-vindo(a)::..</legend>

						<span id='icone'><?php echo $ico; ?></span>
						<span id='nome'><?php echo $nome; ?></span>


				";
				}
			?>
</div>

 

ele sempre fica com a area de login la...

x/

Compartilhar este post


Link para o post
Compartilhar em outros sites
//antes do doctype da index:

<?php

       if($_SESSION["usuariologado"]){
               $ico = "";
               session_start(); //session_start()
               $user = $_SESSION["nomeuser"];
               $sexo = $_SESSION["sexouser"];

               if ( $sexo == 'M' ){

                       $ico = "<img src ='imgs/icones/mulher_ico.jpg>";

               }else{

                       $ico ="<img src = 'img/icones/homem_ico.jpg>";

                       }
       }
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

No meu post anterior eu falei pra você sempre usar a função session_start antes de tudo. Você está até imprimindo HTML aí pra depois iniciar a sessão, como ela envia dados através do cabeçalho da página é lógico que não vai funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa iniciar a session antes de verificar se ela está vazia ou foi setada

<?php
       session_start(); //session_start()

       if(isset($_SESSION["usuariologado"])){
               $ico = "";

               $user = $_SESSION["nomeuser"];
               $sexo = $_SESSION["sexouser"];

               if ( $sexo == 'M' ){

                       $ico = "<img src ='imgs/icones/mulher_ico.jpg>";

               }else{

                       $ico ="<img src = 'img/icones/homem_ico.jpg>";

                       }
       }
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza..

tamo chegando la...

mas ainda to fazendo errado, pq agora, ele sempre imprime a pagina logado, msmo sem o login...

vo posta o um resumo de tudo...

 

<?php

session_start();
if($_SESSION["usuariologado"]){
	$ico = "";
	$user = $_SESSION["nomeuser"];
	$sexo = $_SESSION["sexouser"];

	if ( $sexo == 'M' ){

		$ico = "<img src ='imgs/icones/mulher_ico.jpg>";

	}else{

		$ico ="<img src = 'img/icones/homem_ico.jpg>";

		}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
.
.
.

 

//la na div acesso:

<div id="acesso" align="center">
              <?php 
				if(!isset($_SESSION["usuariologado"])){

				echo "

					<form method='post' action='resp_log.php'>
						<fieldset>
							<legend>..:: Área do Cliente ::..</legend>
							<label><strong>Login:</strong></label><input type='text' size='9' name='nome'/>
							<label><strong>Senha:</strong></label><input type='password' size='9' name='senha'/>
						</fieldset>

						<div id='button_container'>
							<button class='acesso_button' type='reset'>Limpa</button>
							<button id='enviar' class='acesso_button' type='submit'>Entrar</button>
						</div>
					</form>

				";

				}else{


				echo "

						<legend>..:: Seja Bem-vindo(a)::..</legend>

						<span id='icone'><?php echo $ico; ?></span>
						<span id='nome'><?php echo $nome; ?></span>


				";
				}
?>
</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Simples, não user o HEADER. Use o META.

 

<?php
echo '<meta http-equiv="refresh" content="0;url=seu.site"> '
?>

 

O HEADER ele limpa os cache depende da versão do apache, então de que adianta abrir uma SESSÃO sendo que o HEADER vai "limpá-las"

Compartilhar este post


Link para o post
Compartilhar em outros sites

//antes do doctype da index:

<?php

       if($_SESSION["usuariologado"]){
               $ico = "";
               session_start(); //session_start()
               $user = $_SESSION["nomeuser"];
// resto do código...

 

De acordo com o seu código acima você está imprimindo conteúdo antes de abrir a tag PHP, certo? No caso "doctype" que você colocou ali seria HTML.

 

Se for, a correção que você fez abaixo continua errada:

 

 

beleza..

tamo chegando la...

mas ainda to fazendo errado, pq agora, ele sempre imprime a pagina logado, msmo sem o login...

vo posta o um resumo de tudo...

 

<?php

session_start();
if($_SESSION["usuariologado"]){
	$ico = "";
	$user = $_SESSION["nomeuser"];
	$sexo = $_SESSION["sexouser"];

// resto do código

 

A função session_start deve estar antes de TUDO, no início do script, antes mesmo do HTML que você está imprimindo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

De acordo com o seu código acima você está imprimindo conteúdo antes de abrir a tag PHP, certo? No caso "doctype" que você colocou ali seria HTML

 

n cara..

eu ñ to imprimindo o html antes de abrir a tag php ñ...

 

<?php

session_start();
if($_SESSION["usuariologado"]){
	$ico = "";
	$user = $_SESSION["nomeuser"];
	$sexo = $_SESSION["sexouser"];

	if ( $sexo == 'M' ){

		$ico = "<img src ='imgs/icones/mulher_ico.jpg>";

	}else{

		$ico ="<img src = 'img/icones/homem_ico.jpg>";

		}
}
?>

 

esse codigo vem antes da tag html ser aberta...

esse codigo so serve, para, depois de feito o login, ele definir o icone e o nome do user...

 

<?php 
				if(!isset($_SESSION["usuariologado"])){

				echo "

					<form method='post' action='resp_log.php'>
						<fieldset>
							<legend>..:: Área do Cliente ::..</legend>
							<label><strong>Login:</strong></label><input type='text' size='9' name='nome'/>
							<label><strong>Senha:</strong></label><input type='password' size='9' name='senha'/>
						</fieldset>

						<div id='button_container'>
							<button class='acesso_button' type='reset'>Limpa</button>
							<button id='enviar' class='acesso_button' type='submit'>Entrar</button>
						</div>
					</form>

				";

				}else{


				echo "

						<legend>..:: Seja Bem-vindo(a)::..</legend>

						<span id='icone'><?php echo $ico; ?></span>
						<span id='nome'><?php echo $nome; ?></span>


				";
				}
			?>

 

esse codigo sim, esta dentro da tag html...

se n foi isso q você disse me desculpe, mas ja to totalmente perdido nessa parte da minha pagina...

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.