Ir para conteúdo

Arquivado

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

MetalDragonX

Como usar o POSTBACK?

Recommended Posts

Tava tendo um debate em um topico.ai comentaram sobre o POSTBACK dizendo que era um meio de deixar mais leve e evitar conectar ao banco de dados se caso ja existir.alguem teria uma logica de como utilizar e com o que deve ser utilizado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora deu pra entender mais ou menoso que é.

Uilson,IsPostBack é uma propriedade de sua página que indica se o post que está chegando para processamento é originário de um submit do usuário ou se é a primeira requisição da página. Se for um submit em geral é porque o usuário fez alguma ação, como um clique num botão, por exemplo. Neste caso seu valor é True. Assim você tem condições de avaliar quando necessário se deve tomar alguma providência se o usuário solicitou a página pela primeira vez ou quando foi feito um submit da página pelo usuário.

mas isso no caso so serveria pra o metodo POST?n to conseguindo ver logica alguma pra isso.tento pensar com o que deve ser utilizado e n vejo resultados e em que e n vejo logica. :unsure:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao fiz um exemplo bem simples, mas a ideia é evitar conexoes desnecessarias com o banco de dados veja um exemplo:

 

index.php

<?php
session_start();
$frutas = isset($_SESSION["frutas"]) ? $_SESSION["frutas"] : "";
if (!isset($_POST["submit"]))
{
$frase = "<span style='color:red;'>Estou conectando no banco de dados</span>";
mysql_connect("localhost", "usuario", "senha");
mysql_select_db("teste");
$re = mysql_query("SELECT * FROM frutas order by frutas");
while($l = mysql_fetch_array($re)){
	$frutas[$l["id"]] = $l["frutas"];
}		
mysql_close();	
$_SESSION["frutas"] = $frutas;
} else {
$frase = "<span style='color:blue;'>Não estou usando conexao com o banco de dados</span>";
} 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>TESTE</title>
</head>

<body>
<h2>Aperte o Botao OK</h2>
<?php
echo $frase;
?>
<form id="form1" method="post" action="teste.php">
Frutas <select name="Frutas" id="Frutas">
<?php
	for($i = 1; $i <= count($frutas); $i++) {			
		echo "<option value=\"$i\">$frutas[$i]</option>\n";
	}	
?>
</select><br />
<input type="submit" name="submit" value="OK" />
</form>
</body>
</html>

 

banco teste:

CREATE TABLE frutas (
id smallint(5) unsigned NOT NULL auto_increment,
frutas varchar(35) NOT NULL,
PRIMARY KEY  (id)
);

INSERT INTO frutas (id, frutas) VALUES 
(1, 'Banana'),
(2, 'Pera'),
(3, 'Abacate'),
(4, 'Abacaxi'),
(5, 'Melancia'),
(6, 'Mamao');

 

desculpe o exemplo simples, mas uma das ideias é do POSTBACK é essa ele testa se a pagina foi submetida e nao deixa fazer nova conexao com o banco de dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom... pelo que entendi.é tipo um modo de gravar em uma session ou em outros metodos pra evitar acesso ao banco ja que o acesso vai ser o msm.se caso ja estiver ocorrido acesso a aquele banco.gravar o resultado na session talai verifica se a session existe.se caso n existir ele faz a session mas se existir ele so cola o resultado da consulta passadaacho que é praticamente isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso mesmo, pensando em sistemas grandes tipo orkut, cada efeito para evitar o acesso ao banco é um grande ganho, e deixa a conexao livre para outros usuario usarem

 

outra novidade do DOTNET é o VIEWSTATE e AUTO POSTBACK

 

o VIEWSTATE é manter o estado da pagina, tipo assim mesmo dando f5 a pagina nao perde nenhum valor, mesmo que a pessoa tenha digitado algo ela nao ira perder e ate a posicao da pagina ele mantem, por exemplo se você rolar a pagina e tiver la no rodape, usando viewstate você mantem o estado da e ele sempre fica la na onde tava

o auto postback é fazer qualquer controle da pagina dar submit automaticamente, as vezes é legal quando você esta usando checkbox e quando selecionado ele muda alguma coisa, dai sendo automatico ele ira submeter direto, essa ação perdeu um pouco da novidade depois do ajax

Compartilhar este post


Link para o post
Compartilhar em outros sites

poderia me dar um ex de como usar cada um desses?eu gostei da parte do ajax de como você disse.mas pra quem n entende mt e ainda ta tentando aprender aqui.ta ate meio que complicado se trabalhar com ajax.o ajax muda o modo de programar mas ja ta dando pra entender.so falta eu ter um conhecimento das funcoes do ajax.ainda n consegui encontrar um programa bom pra programar em ajax que tenha as linhas de comandos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao ta sobrando tempo pra nada, mas fala ai qual sua duvida sobre ajax que eu te ajudo, se sabe fazer um sistema de cadastro completo com ajax?

 

nao ta sobrando tempo pra nada, mas fala ai qual sua duvida sobre ajax que eu te ajudo, se sabe fazer um sistema de cadastro completo com ajax?

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara..

eu to querendo aprender ajax.

 

mas como eu to entrando agora com ajax.

eu n sei praticamente nd.

so consigo entender algumas coisa.

 

mas as outras n sei bem pra que serve

 

 

fiz isso na pagina ajax.js

function xmlhttpRequest(){   obj = null;   if (window.XMLHttpRequest)   {	  obj = new XMLHttpRequest();	  obj_type = "XMLHttpRequest";   }   else if (window.ActiveXObject)   {	  var msxmls = new Array('Msxml2.XMLHTTP.5.0',	  'Msxml2.XMLHTTP.4.0',	  'Msxml2.XMLHTTP.3.0',	  'Msxml2.XMLHTTP',	  'Microsoft.XMLHTTP');	  for (var i = 0; i < msxmls.length; i ++ )	  {		 try		 {			obj = new ActiveXObject(msxmls[i]);			obj_type = msxmls[i];			break;		 }		 catch(e)		 {			obj = false;		 }	  }   }   else   {	  obj = false;   }   return obj;}function process(){	obj = new xmlhttpRequest();	var conteudo.document.getElementById("conteudo");	conteudo.innerHTML = '<div class="carregando"><img src="images/load.gif">Carregando...</div>';//to tentando pegar o endereço do site pra pegar a variavel "P" index.php?p=pagina	pagina = location.href();	pagina.split("?");//aqui to tentando pegar a variavel P mas n sei como faço.	var p = pagina[1];//so que eu n sei. so fiz copiar e fui tirando minhas conclusoes a respeito do que tava aqui	obj.open("GET", "ajax.php?p=" + p, true);	obj.onreadystatechange = handleRequestStateChange;	  if (obj.readyState == 4 || obj.readyState == 0)	  {		 if (obj.readyState == 200 )		 {			try			{				document.getElementById("conteudo").innerHTML = obj.responseText;			}			catch(e)			{			alert("O servidor não responde.");		 }	  }   }   obj.send(null);}

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu quero na verdade fazer assimclico no link<a href="index.php?p=pagina">pagina principal</a>ai o ajaxpega o link sem da refreshno caso pegaria a variavel "p" e colocaria dentro da <div> com o id=conteudo

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu vi ele.tentei ate modificar.mas ele pega o nome da aba.no caso a pagina teria que ser com o nome da aba.ai eu so quero pegar a variavel ppq programei o site todo.ae to querendo ter menos trabalho possivel.ai ta todo na base do que te falei.

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.