Fórum WebTuga

Tecnologia => Programação => Topic started by: Kugas on July 21, 2008, 02:51:47 PM

Title: [PHP]continuar com os valores nas caixas dps de MM_JumpMenu
Post by: Kugas on July 21, 2008, 02:51:47 PM
Boas ppl mais uma vez peço uma pekena ajuda num pekeno problema, vou ja postar o codigo e passo a explicar dps:


$p="\\'parent\\'";

echo \\'\\';

?>

 
echo \\'\\';

?>

 
echo \\'\\';

?>









value="">

value="">


echo \\'\\';

?>

é o seguinte como se vê tenho um MMjumpMenu, á medida que seleciono o seguemento automaticamente aparece a familia para escolha e dps de escolher a familia aparece o produto para escolha... ate aki tudo bem mas o que eu keria era guardar os valores das caixas name="qta",name="qtafec",name="pvp" e etc, assim k a sessao MMjumpMenu se executa, isto é no caso se eles preencherem 1Ã,º as caixas e selecionar dps o produto prk dps disto ele perde os dados ou valores (como kiserem xamar) atribuidas ás caixas de texto....

nao sei se me fiz entender...mas agradeço ajuda!

serei eternamente grato!
Cumprimentos
Title: [PHP]continuar com os valores nas caixas dps de MM_JumpMenu
Post by: fireblood on August 07, 2008, 11:47:43 PM
Se percebi bem.. queres guardar as opçoes que o user escreve na caixa de texto ?

A maneira que me parece mais correcta é usares ajax nas MMJumpBox\\'s para fazer os requests das familias... ou então submeteres o form cada vez que escolhes uma familia.. mas e\\' possivel que te complique mais a vida desta maneira.
Title: [PHP]continuar com os valores nas caixas dps de MM_JumpMenu
Post by: Kugas on August 09, 2008, 07:25:24 PM
pois... mas eu nao percebo nadade ajax...    se houvesse outra maneira em php ou html... ate mesmo em javascript (na kual ainda nao percebo muito)... era muito bom! agradecia as ajudas

Abraços...
Title: [PHP]continuar com os valores nas caixas dps de MM_JumpMenu
Post by: Kugas on August 28, 2008, 09:33:47 AM
Alguem me pode arranjar soluçao sem ser em AJAX... please
Title: [PHP]continuar com os valores nas caixas dps de MM_JumpMenu
Post by: geoblast on August 28, 2008, 09:06:55 PM
QuoteAlguem me pode arranjar soluçao sem ser em AJAX... please  

Olá.

A melhor forma de fazeres isso é na verdade com Ajax. Esta é uma forma simples de o fazeres

Estas são as funções de Javascript que accionam, a primeira, o pedido do Ajax ao servidor e, a segunda, recebo a resposta XML e cria a drop com os dados recebidos.




/******************************************************

 * Funcoes AJAX para carregar os concelhos

 *****************************************************/



function DadosConc(myDistrito,path) {

 //verifica se o browser tem suporte a ajax

 try {

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

 }

 catch(e) {

try {

ajax = new ActiveXObject("Msxml2.XMLHTTP");

}

catch(ex) {

try {

  ajax = new XMLHttpRequest();

}

catch(exc) {

  alert("O browser não tem recursos para uso do Ajax");

  ajax = null;

}

}

 }

 //se tiver suporte ajax

 if(ajax) {

//deixa apenas o elemento 1 no drop, os outros são excluídos

// o Ã,«form_concelhoÃ,» é o name da drop

document.forms[0].form_concelho.options.length = 1;



idOpcao  = document.getElementById("opcoes"); //opcoes é o id da drop

//aqui inseres o path do ficheiro de PHP que vai processar o pedido.

ajax.open("POST", path+"/modules/ajax/ajx_concelhos.php", true);

ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");



ajax.onreadystatechange = function() {



//enquanto estiver processando...emite a msg de carregando

if(ajax.readyState == 1) {

  idOpcao.innerHTML = "Carregando...!";  

}



//após ser processado - chama função processXML que vai varrer os dados

if(ajax.readyState == 4 ) {

  if(ajax.responseXML) {

 processXMLConc(ajax.responseXML);

  }

  else {

  //caso não seja um arquivo XML emite a mensagem abaixo

  idOpcao.innerHTML = "XML nu00E3o carregado";

  }

}

}



//passa os parâmetro para o php

var params = "distrito="+myDistrito;

ajax.send(params);



 }

   }



   function processXMLConc(obj){

 //pega a tag concelho

 var dataArray   = obj.getElementsByTagName("concelho");

 //total de elementos contidos na tag cidade

 if(dataArray.length > 0) {



//percorre o arquivo XML paara extrair os dados

for(var i = 0; i < dataArray.length; i++) {

var item = dataArray[i];

//contéudo dos campos no arquivo XML

var codigo =  item.getElementsByTagName("codigo")[0].firstChild.nodeValue;

var descricao =  item.getElementsByTagName("descricao")[0].firstChild.nodeValue;

idOpcao.innerHTML = "Seleccione um concelho";



//cria um novo option dinamicamente  

var novo = document.createElement("option");

//atribui um ID a esse elemento

novo.setAttribute("id", "opcoes");

//atribui um valor

novo.value = codigo;

//atribui um texto

novo.text  = descricao;

//finalmente adiciona o novo elemento

document.forms[0].form_concelho.options.add(novo);

}

 }

 else {

//caso o XML volte vazio, printa a mensagem abaixo

idOpcao.innerHTML = "Voltou vazio";

 }  

   }

O ficheiro de php que chamas, é um ficheiro simples que recebe os parametros, executa um query e cria um xml  que vai ser processado pela segunda função de javascript.

no onchange do select, passas como primeiro parâmetro o this.value e segundo parâmetro o url do servidor.

Se quiseres posso-te depois passar para o mail os scripts (aqui não os consigo por, ainda não percebi pq). Podes passar o mail por PM.

Esta é a forma de o fazer com ajax.

Poderás tentar, caso não queiras usar o ajax,colocar o method do form como POST, e chamares o $_SERVER[\\'PHP_SELF\\'] cada vez que carregas os drops.
Title: [PHP]continuar com os valores nas caixas dps de MM_JumpMenu
Post by: Kugas on September 03, 2008, 10:29:14 AM
desculpa a minha burrice... mas onde utilizo o $_SERVER[\\'PHP_SELF\\']???
Title: [PHP]continuar com os valores nas caixas dps de MM_JumpMenu
Post by: geoblast on September 03, 2008, 08:12:14 PM
Quote... mas onde utilizo o $_SERVER[\\'PHP_SELF\\']???

Olá,

Tens aqui (http://www.gfx-depot.com/forum/-php-server-php-self-validation-t-1636.html) um exemplo de como usar o php_self e a forma de o protegeres de ataques.
Title: [PHP]continuar com os valores nas caixas dps de MM_JumpMenu
Post by: Kugas on September 08, 2008, 10:58:13 AM
hummm nao me esta a funcar

sera k fiz alguma coisa de errado....
Title: [PHP]continuar com os valores nas caixas dps de MM_JumpMenu
Post by: Kugas on September 08, 2008, 02:44:29 PM
aqui esta como eu fiz ou como estava na soluçao....

(...)
//Get the name of the file (form.php)

$phpself = basename(\\'promopda.php\\');

//Get everything from start of PHP_SELF to where $phpself begins

//Cut that part out, and place $phpself after it

$_SERVER[\\'PHP_SELF\\'] = substr($_SERVER[\\'PHP_SELF\\'], 0, strpos($_SERVER[\\'PHP_SELF\\'],

$phpself)) . $phpself;

//You\\'ve got a clean PHP_SELF again (y)

?>

(...)

alguma coisa de errado???