Ir para conteúdo

POWERED BY:

Arquivado

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

eu_Nana

[Resolvido] Problema em enviar formulário

Recommended Posts

Bom dia pessoal..

 

Já faz semanas que estou tentando reseolver e não consigo....procurei.. encontrei algumas coisas mas não consegui resolver o meu problema.

Eu tenho uma função ajax que carrega todas as páginas na div conteudo.. isso está funcionando perfeito... só que eu tenho um link no menu que encaminha para um formulário de login e senha e quero que exiba uma msg de erro caso a pessoa tente acessar essa area sem digitar ou digitar um login e senha incorretos.....bom....esse formulário esta sendo carregado dentro da div conteudo, porém qnd clico no botão "enviar" ele dá refresh na página e volta para a página inicial...não exibe essa msg de erro. No caso da pessoa entrar com o login e senha corretos é redirecionado para a página ataexterno.php....Daí eu tentei fazer o seguinte: eu coloquei no form action="loga.php" ele faz a verificação se a senha esta correta ou não exibe a msg de erro ou redireciona para a página ataexterno.php ...só que carrega somente a página sem as configurações de css pois eu tenho uma pagina (index.php) que contem o layout e as confgurações e as demais só contem o conteudo que vai aparecer na div conteudo.

Vou postar os códigos que estou usando.....eu não sei mais oq fazer...por favor me ajudem....

 

Função Ajax que uso para carregar as páginas dentro da div conteudo => ajax.js

 

function GetXMLHttp() {
        
        var xmlHttp;
        try {
        xmlHttp = new XMLHttpRequest();
        }
        catch(ee) {
        try {
        xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e) {
        try {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e) {
        xmlHttp = false;
        }
        }
        }
        return xmlHttp;
}

var xmlRequest = GetXMLHttp();

instrucao.js

function abrirPag(valor){
        var url = valor;

        xmlRequest.open("GET",url,true);
        xmlRequest.onreadystatechange = mudancaEstado;
        xmlRequest.send(null);

        if (xmlRequest.readyState == 1) {
        document.getElementById("conteudo").innerHTML = "<img src='loading.gif'>";
        }

        return url;
}

function mudancaEstado(){
        if (xmlRequest.readyState == 4){
        document.getElementById("conteudo").innerHTML = xmlRequest.responseText;
        }
}

menu_lateral.php

<ul id=sub>
        
 <li><A href="#" onclick="abrirPag('equipe.php');">
 <DIV align=right><SPAN class=style1>Equipe</SPAN></DIV>
 </A>
ata.php

<link href="css/area_restrita.css" rel="stylesheet" type="text/css" />
<link href="css/estilo_texto_paginas.css" rel="stylesheet" type="text/css" />
<link href="css/menu_lateral.css" rel="stylesheet" type="text/css" />


<div id="geral">
                        
                <div id="conteudo">
                
<?php
        include "include/conexao.php";
        
        $ip_user = substr($_SERVER['REMOTE_ADDR'], 0, 10);

        $sql = "SELECT * FROM tbl_ips WHERE ips LIKE '{$ip_user}%'";
        $query = mysql_query($sql);

        if (mysql_num_rows($query) > 0) {
        $rows = mysql_fetch_array($query);
                
        include "ataexterno.php";
                        
        }else {
        include "../logar.php";
        }
mysql_close($con);              
?>
 
        <div style="width:590px; height:auto;">

                </div>
                 
</div>
</div>

 
 <li><A href="#" onclick="abrirPag('publica.php');">
 <DIV align=right><SPAN class=style1>Publica</SPAN></DIV>
 </A>
 
 <LI><A href="#" onclick="abrirPag('relatorio.php');">
 <DIV align=right><SPAN class=style1>Relatório</SPAN></DIV>
 </A>
 
 <LI><A href="index.php?page=ata/ata">
 <DIV align=right><SPAN class=style1>Ata</SPAN></DIV>
 </A>
 
 <LI><A href="index.php?page=pci/pci">
 <DIV align=right><SPAN class=style1>Exemplo PCI </SPAN></DIV>
 </A>
 
 <LI><A href="#" onclick="abrirPag('contato.php');">
 <DIV align=right><SPAN class=style1>Contato</SPAN></DIV>
 </A>
 </UL> 

logar.php

 

<link href="css/estilo_texto_paginas.css" rel="stylesheet" type="text/css" />
<link href="css/menu_lateral.css" rel="stylesheet" type="text/css" />

<div id="geral">
        

        
                <div id="conteudo">
                <div class="titulo">
                         
                        </div>
        
        <div style="width:590px; height:590px;">
        <DIV style="padding-top:15px; padding-right:15px; padding-left:5px;">
                <div style="padding-left:10px;"><img src="imagens/Locked_128.png" width="128" height="128" class="div_img"><p style="padding-top:60px; font-weight:bold;">
        Você não tem permissão para acessar. Por favor entre com o login e senha.
        
        <br><br><br><br>
                </p>

        
                <div class="divFundo">
                                         <div class="divCorpo">
                                                        <form method="post" name="form" action="">

        <?php
                                                                if($_POST['enviar'])
                                                        {
                                                                        echo "<center><font color=\"red\" size=\"1\"><b><img src=\"imagens/alerta.png\" align=\"absmiddle\">
                                                                        Caro(a) usuário(a),<br>
                                                                        Foi identificado um erro em seu acesso: USUÁRIO E/OU SENHA INVÁLIDOS.</b></font></center>";
                                                                }
                                                        ?>

                                                        <div class="divLogin">
                                                                
                                                         <div style="margin-left:100px; font-weight:bold;">
                                                                        Login:
                                                                <input name="log_externo" maxlength="40" class="textbox" type="text">
                                                                </div>
        
                                                         <div style="margin-left:100px; font-weight:bold;">
                                                                        Senha:
                                                                <input class="textbox_senha" type="password" name="senha_externo">
        <input value="Entrar" type="submit" class="botao" name="enviar">
                                                                </div>
                                                                <div> 
                                                                        
                                                                </div> 
                                <div class="divFndTransp"></div>
                        </div>
                </form>
        </div>
        
        
</div>
        </div> 
        </div>
                </div>
</div>

loga.php

 

<?php
        
        include "conexao.php";
        $pagina_restrita = "area_restrita/index.php";

        if($_POST['enviar'])
        {
                                
        if($_POST['log_externo'] && $_POST['senha_externo'])
        {
        $login = $_POST['log_externo'];
        $senha = $_POST['senha_externo'];
        $query = mysql_query("SELECT * FROM tbl_userexterno WHERE log_externo='$login' AND senha_externo='$senha'") or die(mysql_error());
        $rTestar = mysql_num_rows($query);
        $row = mysql_fetch_assoc($query);
        
        if($rTestar > 0)
        {
        session_start();
        $_SESSION['log_externo'] = $row['log_externo'];
        $_SESSION['senha_externo'] = $row['senha_externo'];
        
                                                         
        if($_GET['page']=="ata/ata.php"){
                                                         
        $redirecionar = "ata/ata.php";
                                                                
        echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $redirecionar . "\">";
                 
        exit;
        }
                                                                                                         
        }
        }
        }
        
        mysql_close($con);
        
?>

Se algué tiver uma solução para eu resolver esse problema....eu agredeço....pois já faz semanas q estou tentando resolver isso e não consigo....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá eu acho q estou conseguindo resolver...consegui enviar o form de login via ajax....esta me retornando a msg de erro.....porém agora qnd entro com o login e senha corretos sou redirecionado para a página ataexterno...esta redirecionando...porém sem as configurações CSS abre somente a página ataexeterno.php.......quero redirecionar essa página de forma q ela abra dentro da div conteudo......como faço....veja o código:

 

<?

require_once("config.inc.php");

if($_POST['log_externo']=="")
{ 
	echo "document.getElementById('texto_erro').innerHTML='Campo Login em branco';document.getElementById('log_externo').focus()";
	die();
	
}else if ($_POST['senha_externo']=="") 
{ 
	echo "document.getElementById('texto_erro').innerHTML='Campo Senha em branco';document.getElementById('senha_externo').focus()";
	die();
}

$conexao=new MySQL(); // conexao com o banco


$login = $_POST['log_externo'];
$senha = $_POST['senha_externo'];

$sql="SELECT * FROM tbl_userexterno WHERE log_externo='$login' AND senha_externo='$senha'"; 

$row=$conexao->rows($sql); 
$regs=$conexao->regs($sql); 

if($row=="1")
{ 
	$_SESSION['usuario']=$regs; 
	echo "document.getElementById('texto_erro').innerHTML='Autenticado';location='atas/ataexterno.php'"; // redireciona para a página ataexterno.php
}else{ // se os dados nao conferirem
	
	if($_SESSION['errologin']==""){ 
		$_SESSION['errologin']=1; // cria a sessao errologin
	}
	echo "document.getElementById('texto_erro').innerHTML='USUÁRIO E/OU SENHA INVÁLIDOS'";//(".$_SESSION['errologin'].")';";// texto de erro
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode abrir a página inteira e no evendo onLoad você pode deixar uma página padrao para abrir, quando você fizer o login e senha corretamente.

assim:

 

<body onLoad = "abrirPag('ataexterno.php')">

Dae aqui:

 echo "document.getElementById('texto_erro').innerHTML='Autenticado'; location='atas/ataexterno.php'";

Ae no location= atas/ataexterno.php, você muda pra página normal... a principal que tem a DIV entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo.

Em qual página você é redirecionada depois que faz o login ? É onde tem a Div onde abre as páginas certo ?

Nesta página, tem a Tag <body> certo ?

 

Dentro dela você coloca:

<body onLoad="abrirPag('ataexterno.php')">
Dae o que vai acontecer ? Quando você fizer o login, você redireciona para esta Página. Dae vai abrir a ataexterno.php dentro da Div direto.

 

Só que aqui:

 echo "document.getElementById('texto_erro').innerHTML='Autenticado'; location='atas/ataexterno.php'";

você precisa por o nome da página que tem a DIV. No lugar de ataexterno.php

 

=)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi.....mais fiz oq você me indicou....ele redireciona para o index.php....porém sem a página ataexterno.php dentro da div.....abre a página incial só....

Compartilhar este post


Link para o post
Compartilhar em outros sites

você colocou isso na Body da Index ? onload="abrirPag('ataexterno.php')

 

E você tem a função abrirPag na index.php ?

Poste aí a index.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim para as duas perguntas.....segue o código

 

<!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">
<head>
<script type="text/javascript" src="js/ajax.js"></script>
<script type="text/javascript" src="js/instrucao.js"></script>



<title>Teste</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="language" content="pt-br" />



<link href="css/estilo.css" rel="stylesheet" type="text/css" />
<link href="css/estilo_paginas.css" rel="stylesheet" type="text/css" />
<link href="css/menu_lat.css" rel="stylesheet" type="text/css" />



</head>

<body bgcolor="#f9f9f9" onload="abrirPag('ataexterno.php')">

<div id="geral">
		<div id="topo">
		   <?php
			    require "include/topo.php";
		   ?>
		</div>
		
        <div id="menu">
       
		  <?php
				include "include/menu_lateral.php";	
  		  ?>
           
  		</div>
        
        
		<div id="conteudo">
   
		</div>
        
        <div id="barra_end"></div>
		<div id="rodape">Copyright 2010 Todos os direitos reservados.</div>
</div>
</body>
</html>

e esse abaixo é parte do código onde faz o redirecionamento

 

echo "document.getElementById('texto_erro').innerHTML='Autenticado';location='index.php'"; // redireciona

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ke estranho. Está certo.

Eu tenho uma página que faz a mesma coisa que a sua.

Você está rodando pelo internet explorer ?

Pq talvez tenha algum erro de script e o internet acusa, o mozilla nao.

Se tiver vai mostrar na barra de status, dae você ve o que é.

SE tiver neh.

 

 

Veja tudo, tipo endereço dos scripts, se estao certo. da página que você quer abrir. Se a ataexterno.php está dentro de outra pastaa e tals.. entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao, rode no internet explorer que você vai ver se existe erro de script ou nao

se tiver na barra de status vai mostrar, dae você da dois clicks e ve o erro e a linha

Compartilhar este post


Link para o post
Compartilhar em outros sites

tanto no firefox...qnt no IE me mostra um erro relacionado com um arquivo flash.....q é o banner q fiz em flash....nada realcionado com oq estou fazendo agora......verifiquei os caminhos e estão todos corretos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem como você anexar os arquivos aqui ou mandar por email(deekilleer@gmail.com) ? dae eu rodo aqui no servidor tbm =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha não vai dar pra enviar não....são muitos arquivos.....e não tenho permissão p isso....se você puder me ajudar por aqui mesmo....com oq eu já enviei....

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu_Nana, seja bem vindo(a) ao fórum. Para uma melhor participação, sugiro que leia o tópico de orientação para uma boa participação, em especial sobre os quotes desnecessários.

 

A sua dúvida será melhor respondida no fórum de Ajax, por isto estou movendo para lá.

 

Tópico Movido

PHP http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Ajax

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha

 

Dentro da página Index.Php

Dentro da Tag <Head>, coloca isso:

 

<script type='text/javascript' language='javascript'>
   window.onload = abrirPag('ataexterno.php');
</script>

É para funcionar da mesma maneira que colocando no Body, Daí você tira o Onload do Body tah ? =)

 

E para desencargo de consciência exclua todos os cookies e arquivos temporários do seu navegador

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.