Jump to content


Photo

Ao Tentar Logar Exibe Página Não Encontrada


  • Faça o login para participar
7 replies to this topic

#1 Andreia Regina

Andreia Regina

    Veterano

  • Conselheiros
  • 1347 posts
  • Sexo:Feminino
  • Localidade:PR
  • Interesses:PHP; MySQL; Javascript; CSS; tudo ligado ao desenvolvimento web.

Posted 20/04/2007, 14:23

Oi!

Estamos com uma situação aqui que nunca tinha visto nem ouvido falar.
Ao tentar logar como pais em uma página retorna página não encontrada. O formulário com os campos está em uma página e a de validação em outra página.

Se eu tentar acessar com perfil Escola ele funciona, se tentar com perfil=pais não funciona pior exibe mensagem de página não encontrada, mesmo sendo a mesma página de validação.

Alguém já passou por isto ou sabe como resolver?

O formulário é o tradicional só tem um radiobutton para definir se é pai ou se é a escola:
<form id="inicial" name="inicial" target="_blank" method="post" action="admin/operador_logar.php">
		  <fieldset>
			<label class="radio" for="perfil_pais"> 
			<input type="radio" name="perfil" id="perfil_pais" value="pais" tabindex="1" title="Pais" checked="checked" onclick="pais();"/> Pais </label>
			<label class="radio" for="perfil_escola"> 
			<input type="radio" name="perfil" id="perfil_escola" value="escola" tabindex="2" title="Escola" />Escola </label>
			<label class="campo" for="operador"> Usuário: 
		<input type="text" name="operador" id="operador" maxlength="20" tabindex="3" title="Operador" value=""/></label>
			<label class="campo" for="senha"> Senha: 
		<input type="password" name="senha" id="senha" maxlength="10" tabindex="4" title="Senha do Operador" value=""/>
	  </label>
		<input name="Entrar" type="image" src="img_layout/botoes/botao_novidades_entrar.gif" title="Acessar área restrita" alt="Acessar área restrita" accesskey="E"/>
		</fieldset>
   </form>

O script de validação é este:

O "operador" do perfil pais é o CPF do responsável, eu gravei no banco formatado ou seja, 111.111.111-11
<?php ob_start();
require_once ("../includes/my_lib.php");

	foreach($_POST as $campo => $valor){ 
		$$campo = trim(strip_tags($valor));
	}
	echo "<br/>".$operador;
	echo "<br/>".$senha;
	echo "<br/>".$perfil;
	
	if ($perfil=="pais") 
	{
	  if (strlen($operador)=="11")
	  {
		$cpf1  = substr("$operador", 0, 3);
		$cpf2  = substr("$operador", 3, 3);
		$cpf3  = substr("$operador", 6, 3);
		$cpf4  = substr("$operador", -2, 2);
		$operador = $cpf1.".".$cpf2.".".$cpf3 ."-".$cpf4;
	  }//if (strlen($operador)=="11")

	  $result = db_query ("SELECT senha FROM tb_pais WHERE responsavel_cpf='$operador' AND status='ativo'");
	echo "<br/>pegando a senha do operador: ".$operador." resultado ".$result[rows];
		
	  if ($result[rows] == 1) // verificar senha criptografada
	  {
		$row = mysql_fetch_array($result[result]);
		$db_passwd = $row[senha];
		$salt = preg_split('/\$/', $row[senha]);
		$checked_passwd = md5crypt($senha, $salt[2]);

		$result = db_query ("SELECT * FROM tb_pais WHERE responsavel_cpf='$operador' AND senha='$checked_passwd'");

	echo "<br/>verificando operador: ".$operador." resultado ".$result[rows];
		if ($result[rows] == 1) 
		{
			session_name("SessID");
			session_start();
			session_register("sessid");

			$row = mysql_fetch_array($result[result]);

			$sessid = array (
				"operador" => $row[responsavel_cpf]
			);
		} //if ($result[rows] == 1) linha 20
		else 
		{
			include_once ("includes/topo_inicial.htm");
			print " <h1> :: ACESSO NEGADO :: </h1>
					<p> Sua senha está incorreta ou você não possui autorização para visualizar esta página.<br> Verifique e tente novamente.</p>
					<p align=\"center\"><a href='java script:history.go(-1);'>Voltar à página de login.</a></p>";
			exit;
		} //else if ($result[rows] == 1) linha 19
	  } //	if ($result[rows] == 1) linha 11
	  else 
	  {
			include_once ("includes/topo_inicial.htm");
			print " <h1> :: ACESSO NEGADO :: </h1>
				  <p> Operador incorreto, por favor verifique e tente novamente.</p>
				  <p align=\"center\"><a href='java script:history.go(-1);'>clique aqui para voltar à página de login.</a></p>";
			exit;
		} // else

	  header("Location:../area_pais/index.php?" .  session_name() . "=" . session_id());
	}
	else
	{
		$operador = strtoupper($operador);
		$senha	= strtoupper($senha);

	  $result = db_query ("SELECT ope_senha FROM tb_operadores WHERE operador='$operador' AND ope_status='on'");
		
	  if ($result[rows] == 1) // verificar senha criptografada
	  {
		$row = mysql_fetch_array($result[result]);
		$db_passwd = $row[ope_senha];
		$salt = preg_split('/\$/', $row[ope_senha]);
		$checked_passwd = md5crypt($senha, $salt[2]);

		$result = db_query ("SELECT * FROM tb_operadores WHERE operador='$operador' AND ope_senha='$checked_passwd'");

		if ($result[rows] == 1) 
		{
			session_name("SessID");
			session_start();
			session_register("sessid");

			$row = mysql_fetch_array($result[result]);

			$sessid = array (
				"operador" => $row[ope_id]
			);
		} //if ($result[rows] == 1) linha 20
		else 
		{
			include_once ("includes/topo_inicial.htm");
			echo $operador;
			echo $senha;
			print " <h1> :: ACESSO NEGADO :: </h1>
					<p> Sua senha está incorreta ou você não possui autorização para visualizar esta página.<br> Verifique e tente novamente.</p>
					<p align=\"center\"><a href='java script:history.go(-1);'>Voltar à página de login.</a></p>
			exit;
		} //else if ($result[rows] == 1) linha 19
	  } //	if ($result[rows] == 1) linha 11
	  else 
	  {
			include_once ("includes/topo_inicial.htm");
			print " <h1> :: ACESSO NEGADO :: </h1>
				  <p> Operador incorreto, por favor verifique e tente novamente.</p>
				  <p align=\"center\"><a href='java script:history.go(-1);'>clique aqui para voltar à página de login.</a></p>
			exit;
		} // else

	  header("Location:adm_menu.php?" .  session_name() . "=" . session_id());
	}
?>
</div> <!-- geral -->
</body>
</html>
<?php ob_end_flush();?>

Edição feita por: Andreia Regina, 20/04/2007, 15:31.
Adicionando aspas que faltavam aqui, no original estava ok

Fórum WMO - Conselheira - Na equipe desde 31/01/2006.
Links importantes: Regras de conduta - Busca do fórum


#2 Evitark

Evitark

    Normal

  • Usuários
  • 67 posts
  • Sexo:Masculino

Posted 20/04/2007, 14:33

Qual arquivo ele dá erro de não encontrado? No operador_logar.php ou no area_pais/index.php?

#3 Andreia Regina

Andreia Regina

    Veterano

  • Conselheiros
  • 1347 posts
  • Sexo:Feminino
  • Localidade:PR
  • Interesses:PHP; MySQL; Javascript; CSS; tudo ligado ao desenvolvimento web.

Posted 20/04/2007, 14:42

O operador_logar.php

porém ele existe pois se eu acessar como escola ele libera meu acesso, só não libera se eu tentar acessar como pais

Fórum WMO - Conselheira - Na equipe desde 31/01/2006.
Links importantes: Regras de conduta - Busca do fórum


#4 chipis

chipis

    24 Horas

  • Usuários
  • 439 posts
  • Sexo:Masculino
  • Localidade:Blumenau - SC

Posted 20/04/2007, 15:09

O que eu percebi é que nos

print " <h1> :: ACESSO NEGADO :: </h1>

esta faltando fechar as aspas( " ), não é onde você faz a verificação do perfil pais
flws...

#5 Andreia Regina

Andreia Regina

    Veterano

  • Conselheiros
  • 1347 posts
  • Sexo:Feminino
  • Localidade:PR
  • Interesses:PHP; MySQL; Javascript; CSS; tudo ligado ao desenvolvimento web.

Posted 20/04/2007, 15:30

No original não está faltando é que eu tirei algumas partes aqui e acabei tirando as aspas, mas lá está correto.

Vou arrumar lá no post

Obrigada

Fórum WMO - Conselheira - Na equipe desde 31/01/2006.
Links importantes: Regras de conduta - Busca do fórum


#6 hisamu

hisamu

    Normal

  • Usuários
  • 117 posts
  • Sexo:Não informado

Posted 20/04/2007, 15:32

if ($perfil=="pais")


Já torcou trocar $perfil por $_POST['perfil'] ? :)

EDIT: Não repaei no foreach todo :|

Edição feita por: hisamu, 20/04/2007, 15:33.


#7 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 20/04/2007, 15:34

Aparentemente isso ta parecendo problema de "header" pois pelo que vejo vc usa alguns para fazer o redirecionamento para a seção restrita, porém o "Header("Location: ");" é meio (muito) chato, se por ventura ele tentar enviar para um local que não existe ele em geral da esse erro e a URL que fica apresentada no browser fica exatica (e não a errada mesmo 404) isso confunde muitos...

Então tente colocar a URL completa dentro dos "headers" para ver se resovler:
header("Location: http://www.site.com/area_pais/index.php?" .  session_name() . "=" . session_id());

Sem contar por se tratar de um sistema de login, se por ventura vc estiver fazerendo um login com SSL (https) e seu servidor não der suporte a SSL ele dará esse mesmo erro de página não encotrada.

Outra coisa de pode ser seria os tipos de dados, num passado não muito distante eu peguei um serve gratuitos pra teste (eu sei que o seu num deve ser gratuito mas sei la) que dependendo dos dados ou tamanho dos dados vindo do post ele não conseguia "pegar" e entrava em colapso e dava "pagina não encotrada" tbm ...

#8 Andreia Regina

Andreia Regina

    Veterano

  • Conselheiros
  • 1347 posts
  • Sexo:Feminino
  • Localidade:PR
  • Interesses:PHP; MySQL; Javascript; CSS; tudo ligado ao desenvolvimento web.

Posted 20/04/2007, 15:42

Ai que raiva!!! :shit: :roundhousekick: :boxing: tudo isso em mim e no pessoal aqui :rotfl2::

sk15 matou a charada, index.php não existia na pasta existia um tal de index1.php rs.

Obrigada a todos pelo interesse e sk15

:aplauder: MUITÍSSIMO OBRIGADA!!! :aplauder:

Fórum WMO - Conselheira - Na equipe desde 31/01/2006.
Links importantes: Regras de conduta - Busca do fórum





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq