Ir para conteúdo

POWERED BY:

Arquivado

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

Marcos Barbosa

[Resolvido] Retorna a pagina anterior

Recommended Posts

Tenho um menu que fica na vertical do lado esquerdo, onde tenho as opções:

- Categoria

- Subcategoria

- ....

Ao clicar em categoria, abre-se um tela de consulta com todas as categorias cadastradas e com os link´s para alterar, excluir e inserir, em qualquer link que clique abre-se a pagina em dentro da página no menu principal (sem carregar uma nova página, tipo http://www.tableless.com.br/artigos/ajaxdemo/, google etc).

Até a parte onde chamo a pagina para incluir, alterar ou excluir da dando tudo certo, o problema é quando confirmo a operação que no retorno ele carrega a pagina chamada em um nova página, vejam como estou fazendo:

No index.php eu uso 2 arquivo em JS, são eles

ajax.js

function GetXMLHttp() {

    if(navigator.appName == "Microsoft Internet Explorer") {

        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

    }

    else {

        xmlHttp = new XMLHttpRequest();

    }

    return xmlHttp;

}

var xmlRequest = GetXMLHttp();

instrucao.js


function abrirPag(valor){

var url = valor;


xmlRequest.onreadystatechange = mudancaEstado;

xmlRequest.open("GET",url,true);

xmlRequest.send(null);


if (xmlRequest.readyState == 1) {

document.getElementById("conteudo").innerHTML = "<img src='loader.gif'>";

}


return url;

}


function mudancaEstado(){

if (xmlRequest.readyState == 4){

document.getElementById("conteudo").innerHTML = xmlRequest.responseText;

}

}

No index.php chamo os arquivos assim:

<li><a href="#" onclick="abrirPag('lista_categoria.php');">Home</a></li>

Ainda dentro do index.php tenho a <div conteudo> q ñ precisa colocar código nenhum dentro dela, e ela fica assim:

<div id="conteudo">
</div>

Já em lista_categoria.php tenho um link:

<td colspan="4" align="right"><a href="#" onclick="abrirPag('frm_categoria.php')"><img src="imagens/inserir.gif" alt="" width="55" height="16" border="0" /></a></td>
q também abre corretamente. Em frm_categoria.php clicor no botão para inserir, aí chamo a página op_categoria.php, nela faço a inserção dos dados, só que ao retornar está abrindo uma nova página e o que eu quero é que carregue na página atual, op_categoria.php está assim:

 

<!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>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<title>Untitled Document</title>
		<style type="text/css">
		<!--
		-->
		</style>
		<link href="estilos.css" rel="stylesheet" type="text/css" />

		<script language="javascript" src="ajax.js"></script>
		<script language="javascript" src="instrucao.js"></script>

	</head>

    <body>
		<?php
                    include ("conexao.php");
                    $acao			= $_POST["acao"];
                    $codigo_cat  	= $_POST["codigo_cat"];
                    $desc_categoria	= $_POST["desc_categoria"];
                    
                    if ($acao == "Inserir")
                    {
                        $sql = mysql_query("insert into categoria (descriscao_cat) values ('$desc_categoria')") or die ("Não foi possivel inserir os dados ".mysql_error());
                    }
                        echo "<script type = 'text/javascript'> location.href = 'lista_categoria.php'</script>";    
                    if ($acao == "Alterar")
                    {
                        $sql = mysql_query("UPDATE categoria SET descriscao_cat ='$desc_categoria' WHERE codigo_cat='$codigo_cat'") or die ("Não foi possivel alterar os dados. ".mysql_error());
                        echo "<script type = 'text/javascript'> location.href = 'lista_categoria.php'</script>";
                    }
                    if ($acao == "Excluir")
                    {
                        $sql = mysql_query("DELETE FROM categoria WHERE codigo_cat = '$codigo_cat'") or die ("Não foi possível apagar o registro.");
                        echo "<script type = 'text/javascript'> location.href = 'lista_categoria.php'</script>";
                    }
                    
                ?>
	          	
				  
    
	</body>
</html>

Espero ter sido claro na explicação da minha dúvida e agradeço a quem puder me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente criar uma váriavel para receber isso

function abrirPag(valor){var url = valor;
Então você tem que alterar no
echo "<script type = 'text/javascript'> location.href = 'lista_categoria.php'</script>";
Onde está 'lista_categoria.php' você tenta receber o valor da variavel, se não der certo, poste de novo.

Outra coisa, quando você diz abrir em uma outra página, ela está abrindo em uma outra janela? ou em uma página diferente.

 

abraços e espero ter ajudado

 

Poste o código do frm e do index também

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está abrindo na mesma janela.

 

André, fiz da seguinte forma:

em lista_categoria.php no link, coloquei assim:

<td><a href="#" onclick="abrirPag('frm_categoria.php?pagina=lista_categoria.php')"><img src="imagens/inserir.gif" alt="" width="55" height="16" border="0" /></a></td>

Recebi essa variável em frm_categoria, e enviei para o op_categoria.php dessa forma:

frm_categoria.php

$pagina = $_GET['pagina']; // aki recebo a variável

<input name="pagina" type="hidden" value="<?php echo $pagina; ?>" /> // Aki estou enviando para op_categoria.php

Em op_categoria.php recebo a variável $pagina via $_POST e substitui, assim :

op_categoria.php

  $pagina = $_POST['pagina']; 

  $sql = mysql_query("insert into categoria (descriscao_cat) values ('$desc_categoria')") or die ("Não foi possivel inserir os dados  ".mysql_error());
  echo "<script type = 'text/javascript'> location.href = $pagina </script>";

Se for assim, ñ deu certo.

 

Tente criar uma váriavel para receber isso

function abrirPag(valor){var url = valor;
Então você tem que alterar no
echo "<script type = 'text/javascript'> location.href = 'lista_categoria.php'</script>";
Onde está 'lista_categoria.php' você tenta receber o valor da variavel, se não der certo, poste de novo.

Outra coisa, quando você diz abrir em uma outra página, ela está abrindo em uma outra janela? ou em uma página diferente.

 

abraços e espero ter ajudado

 

Poste o código do frm e do index também

 

Vou postar os códigos q você solicitou.

 

index.php

<!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>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Telemedicina da Bahia - Agilidade a serviço da vida</title>
		<style type="text/css">
			<!--
			#index {
				display: block;
				height: 500px;
				width: 800px;
				background-image: none;
				margin-left: 100px;
			}
			#index #cabecalho {
				display: block;
				height: 80px;
				width: 800px;
			}
			#index #menu {
				display: block;
				float: left;
				height: 300px;
				width: 200px;
				margin: auto;
			}
			#index #conteudo {
				display: block;
				height: 500px;
				width: 600px;
				padding: auto;
				float: right;
			}

			#index #rodape {
				display: block;
				height: 30px;
				width: 780px;
				clear: both;
				font-family: Verdana, Geneva, sans-serif;
				font-size: 12px;
				color: #360;
			}
			-->
		</style>
		<link href="estilos.css" rel="stylesheet" type="text/css">
        
        <script language="javascript" src="ajax.js"></script>
		<script language="javascript" src="instrucao.js"></script>

	</head>

	<body>
       
		<div id="index">
			<div id="cabecalho">
				<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
					<tr>
						<td width="28%" rowspan="5" align="center" valign="top"><img src="imagens/logo_telemedicina.jpg" width="165" height="81" /></td>
						<td width="60%" align="center">Telemedicina a Serviço da Vida</td>
						<td width="12%"><img src="imagens/tit.jpg" width="186" height="50" /></td>
					</tr>
					<tr>
						<td align="center"><strong><font-family: Arial, Helvetica, sans-serif>Data:</strong>
							<?php 
								$dia_da_semana=array("Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado");
								$numero_dia=date("w"); // o parametro w retorna o nº do dia da semana exemplo:domingo=0 segunda=1 assim por diante.
								$dia_extenso = $dia_da_semana[$numero_dia]; // pega o $numero_dia associa ao $dia_da_semana e coloca o valor, exemplo $numero_dia=0, o valor referente em $dia_da_semana=Domingo
								echo $dia_extenso.",".date("d/m/Y"); // imprime a data colocando no nosso formato.
							?> <strong>Hora:</strong><?php echo date("H:i");?></font>
						</td>
						<td>Usuário:</td>
					</tr>
					<tr>
						<td> </td>
						<td> </td>
					</tr>
					<tr>
						<td> </td>
						<td> </td>
					</tr>
				</table>
			</div>
			<div id="menu">
				<p></p>
				<table width="100%" border="0" cellspacing="0" cellpadding="0" id="botaoMenu">
					<tr>
						<td align="center"><img src="imagens/cadastro.jpg" width="136" height="13" /></td>
					</tr>
					<tr>
						<td><ul>
							<li><a href="#" onclick="abrirPag('home.php');" class="meio">Home</a></li>
							<li><a href="#" onclick="abrirPag('lista_categoria.php?page=1');" class="meio">Categoria</a></li>
                            <li><a href="#" onclick="abrirPag('lista_exames.php');" class="meio">Exames</a></li>
                            <li><a href="#" onclick="abrirPag('lista_pacientes.php');" class="meio">Pacientes</a></li>
                            <li><a href="#" onclick="abrirPag('lista_medicos.php');" class="meio">Médicos</a></li>
                            <li><a href="#" onclick="abrirPag('lista_funcionarios.php');" class="meio">Funcionários</a></li>
                            <li><a href="#" onclick="abrirPag('lista_convenios.php');" class="meio">Convênios</a></li>
                            <li><a href="#" onclick="abrirPag('lista_resultado.php');" class="meio">Resultados</a></li>
						</ul></td>
					</tr>
				</table>
				
			</div>
			<div id="conteudo">
				
			</div>
		  <div id="rodape">
				<td align="center"><img src="imagens/rodape.gif" width="776" height="50" /></td>
			</div>
			<p></p>
		</div>
	</body>
</html>

frm_categoria.php

<?php
	include ("conexao.php");
	$codigo_cat	= $_GET["codigo_cat"];
	$acao       = $_GET["acao"];
	$pagina		= $_GET["pagina"];  			
	if ($acao != "")
	{
		$sql 		     = mysql_query("select * from categoria where codigo_cat = '$codigo_cat'") or die ("Erro 2. ".mysql_error());
		$linha  		 = mysql_fetch_array($sql);

		$desc_categoria  = $linha["descriscao_cat"];
	}
?>


<!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>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>Untitled Document</title>
	</head>
	<body>
		<table width="100%" border="0" cellspacing="0" cellpadding="0">
			<tr>
				<td align="center">Cadastro de Categoria</td>
			</tr>
			<tr>
				<td><form id="form1" name="form1" method="post" action="op_categoria.php">
					<table width="314" border="1" align="center" cellpadding="0" cellspacing="0">
						<tr>
							<td>Categoria</td>
							<td><label>
							<input name="desc_categoria" type="text" id="desc_categoria" value="<?php echo $desc_categoria ;?>" size="35" />
							</label></td>
						</tr>
						<tr>
							<td colspan="2" align="center"><label>
								<input type="submit" name="button" id="button" value="<?php if ($acao !='') {echo $acao;} else {echo 'Inserir';} ?>" />
								<!--  A instrução abaixo funciona assim: Se a acao ñ for vazia, ele imprime a acao (alterar ou excluir) se for vazia = Inserir-->
								<input name="acao" type="hidden" id="acao" value="<?php if ($acao !='') {echo $acao;} else {echo 'Inserir';} ?>" />

								<input name="codigo_cat" type="hidden" value="<?php echo $codigo_cat; ?>" />
						     	<input name="pagina" type="hidden" value="<?php echo $pagina; ?>" />
							</label></td>
						</tr>
					</table>
				</form></td>
			</tr>
			<tr>
			<td> </td>
			</tr>
		</table>
	</body>
</html>

Acho q está tudo aí.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está abrindo na mesma janela.

...

Acho q está tudo aí.

 

Bom eu não sei te dizer exatamente como fazer para corrigir, pois como eu disse não sou muito assim bom em js , mas tenho quase certeza que o problema está aqui.

echo "<script type = 'text/javascript'> location.href = 'pagina.php' </script>";
Porque olha como você linkou os arquivos com onclick

<ul>
<li><a href="#" onclick="abrirPag('home.php');" class="meio">Home</a></li>
<li><a href="#" onclick="abrirPag('lista_categoria.php?page=1');" class="meio">Categoria</a></li>
<li><a href="#" onclick="abrirPag('lista_exames.php');" class="meio">Exames</a></li>
<li><a href="#" onclick="abrirPag('lista_pacientes.php');" class="meio">Pacientes</a></li>
<li><a href="#" onclick="abrirPag('lista_medicos.php');" class="meio">Médicos</a></li>
<li><a href="#" onclick="abrirPag('lista_funcionarios.php');" class="meio">Funcionários</a></li>
<li><a href="#" onclick="abrirPag('lista_convenios.php');" class="meio">Convênios</a></li>
<li><a href="#" onclick="abrirPag('lista_resultado.php');" class="meio">Resultados</a></li>  
</ul>

Você não linkou utilizando o href, e sim a funcão do onclick. então você tem que alterar o location.href para algo que retorne a função do onclik, entendeu? Pois o location.href retorna acho que valores no .href, agora os botões alterar, excluir e inserir você linkou utilizando onlick também? Se for o casso acredito que seja isso

abraços e espero ter ajudado, qualquer coisa poste de novo :D

 

Outro detalhe:

Aqui no código do op_categoria

if ($acao == "Inserir")
                    {
                        $sql = mysql_query("insert into categoria (descriscao_cat) values ('$desc_categoria')") or die ("Não foi possivel inserir os dados ".mysql_error());
                    }
                        echo "<script type = 'text/javascript'> location.href = 'lista_categoria.php'</script>";
Você tem que fechar as chaves {} depois do echo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei todos com o onclik.

Vou tentar fazer q você me disse e depois posto novamente. Vlw mesmo por tentar me ajudar.

 

 

Está abrindo na mesma janela.

...

Acho q está tudo aí.

 

Bom eu não sei te dizer exatamente como fazer para corrigir, pois como eu disse não sou muito assim bom em js , mas tenho quase certeza que o problema está aqui.

echo "<script type = 'text/javascript'> location.href = 'pagina.php' </script>";
Porque olha como você linkou os arquivos com onclick

<ul>
<li><a href="#" onclick="abrirPag('home.php');" class="meio">Home</a></li>
<li><a href="#" onclick="abrirPag('lista_categoria.php?page=1');" class="meio">Categoria</a></li>
<li><a href="#" onclick="abrirPag('lista_exames.php');" class="meio">Exames</a></li>
<li><a href="#" onclick="abrirPag('lista_pacientes.php');" class="meio">Pacientes</a></li>
<li><a href="#" onclick="abrirPag('lista_medicos.php');" class="meio">Médicos</a></li>
<li><a href="#" onclick="abrirPag('lista_funcionarios.php');" class="meio">Funcionários</a></li>
<li><a href="#" onclick="abrirPag('lista_convenios.php');" class="meio">Convênios</a></li>
<li><a href="#" onclick="abrirPag('lista_resultado.php');" class="meio">Resultados</a></li>  
</ul>

Você não linkou utilizando o href, e sim a funcão do onclick. então você tem que alterar o location.href para algo que retorne a função do onclik, entendeu? Pois o location.href retorna acho que valores no .href, agora os botões alterar, excluir e inserir você linkou utilizando onlick também? Se for o casso acredito que seja isso

abraços e espero ter ajudado, qualquer coisa poste de novo :D

 

Outro detalhe:

Aqui no código do op_categoria

if ($acao == "Inserir")
                    {
                        $sql = mysql_query("insert into categoria (descriscao_cat) values ('$desc_categoria')") or die ("Não foi possivel inserir os dados ".mysql_error());
                    }
                        echo "<script type = 'text/javascript'> location.href = 'lista_categoria.php'</script>";
Você tem que fechar as chaves {} depois do echo

 

 

André, depois de quebrar bastante a cabeça, descobrir qual o problema, mas achei um outro e se você puder ajudar eu serei bastante agradecido.

O que fiz ?

No frm_categoria.php, coloquei o botão de enviar num link, dessa forma:

<input type="submit" name="button" id="button" value="<?php if ($acao !='') {echo $acao;} else {echo 'Inserir';} ?>" onclick="abrirPag('op_categoria.php?codigo_cat=<?php echo $codigo_cat; ?>&acao=<?php if ($acao !='') {echo $acao;} else {echo 'Inserir';} ?>&desc_categoria=<?php echo $desc_categoria; ?>')"/>
Qual o meu problema agora? Os dados que são digitados no <input> não são transpostados para o op_categoria.php, você sabe como posso resolver isso?

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.