Ir para conteúdo
Fórum Script Brasil
  • 0

Socorro, Por Favor !


dev

Pergunta

>>> Estou editando esse post, porque descobri que o problema não é a atualização, coloquei no post lá embaixo. Não mudei esse porque tem os códigos que estou usando.

>>> Obrigada !

Bom, estou usando um código para cálculo da idade e também para carregar as cidades a partir do estado selecionado.

está funcionando direitinho, só que tive que colocar validação de CPF e verificação se o email ou CPF já existe no BD.

Estou fazendo essas verificações usando $_POST e, quando há algum erro, volta pro cadastro, mantendo os dados preenchidos anteriormente.

Mas a idade e a cidade se perdem. E no caso específico da cidade, nem selecionando de novo o estado, ela atualiza.

estou postando parte do código, se puderem verificar e me dar alguma idéia...

Pensei que pudesse ser o no-cache do arquivo cid.php, mas exclui essa parte do código e não mudou nada.

MUITO OBRIGAAADAAAA !

Dani

cadastro.php

echo"

<tr><td>

Estado</td>

<td>

<select onChange='atual(this.value);' name='uf'>

<option value='Selecione'>Selecione</option>";

$result = mysql_query("SELECT * FROM estados ORDER BY 'nome'");

while($row = mysql_fetch_array($result)){

echo "<option value=\"$row[uf]\">$row[nome]</option>";

}

echo"</select> </td></tr>

<tr><td>Cidade</td>

<td>

<div id=atual'>

<select name='cid'>

<option value='Aguarde...'>Aguarde...</option></td> </tr>";

cid.php

<?

header("Content-type: text/html; charset=iso-8859-1");

header("Cache-Control: no-store, no-cache, must-revalidate");

header("Cache-Control: post-check=0, pre-check=0", false);

header("Pragma: no-cache");

include "conecta.php";

echo "<select name=\"cid\">";

$result = mysql_query("SELECT * FROM cidades WHERE uf='$_GET[iD]' ORDER BY 'nome'");

while($row = mysql_fetch_array($result)){

echo "<option value=\"$row[nome]\">".ucwords(strtolower($row["nome]))."</option>";

}

echo "</select>";

?>

java.js

var req;

function loadXMLDoc(url){

req = null;

if (window.XMLHttpRequest) {

req = new XMLHttpRequest();

req.onreadystatechange = processReqChange;

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

req.send(null);

} else if (window.ActiveXObject) {

try {

req = new ActiveXObject("Msxml2.XMLHTTP.4.0");

} catch(e) {

try {

req = new ActiveXObject("Msxml2.XMLHTTP.3.0");

} catch(e) {

try {

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

} catch(e) {

try {

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

} catch(e) {

req = false;

}

}

}

}

if (req) {

req.onreadystatechange = processReqChange;

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

req.send();

}

}

}

function processReqChange(){

if (req.readyState == 4) {

if (req.status == 200) {

document.getElementById("atual").innerHTML = req.responseText;

} else {

alert("Houve um problema ao obter os dados:\n" + req.statusText);

}

}

}

function atual(valor){

loadXMLDoc("cid.php?ID="+valor);

}

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

gata...tenta guardar todos os valores que tu trabalha e depois busca novamente em uma session ou uma cookies...

assim, eles nunca se perdemm...

pode tá acontecendo de ele buscar novamente os valores e vim vazio...

ttenta aí...se não der...berra denovo aqui...

vlw!

ou tu pode pegá comigo um script que faz a mesma coisa...só que em ajax...tu queh?

se quiser me manda um e-mail pedindo...

giovanimarin@gmail.com

bjo

Link para o comentário
Compartilhar em outros sites

  • 0

Oi, skolroots !

Obrigada pela resposta !

Esse script que estou usando já é o ajax, está funcionando bonitinho, o único problema é esse na hora que vai pra página seguinte (que verifica pelo $_POST) e quando volta perde o resultado.

Vou tentar alguma coisa com SESSION, embora não tenha muita certeza de como fazer, qualquer coisa eu grito, ok? :rolleyes:

Abraços,

Dani

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal, tentei gravar a variavel "cidade" em uma $_COOKIE e não deu certo.

Mas, pelo menos, descobri qual é o problema realmente.

Na verdade, não está perdendo a informação ao atualizar a página e sim (justamente) porque não atualiza ao voltar.

Olha só:

1- Ao selecionar um estado(uf), é carregado na página o campo cidade a partir de um arquivo externo;

2- A pessoa preenche o cadastro (onde escolhe o estado e cidade) e envia ($_POST), se dá algum erro no momento da verificação no BD, ela volta pro cadastro onde permanece os dados que ela já havia preenchido (isso porque a página não é atualizada), até aí perfeito, porque, se atualizar, ela tem que preencher tudo de novo e vai ficar doida da vida.

Por outro lado, por não haver a tualização da página, ela carrega o que havia inicialmente, ou seja: o estado preenchido e o select da cidade vazio.

Ao gravar a variável em $_COOKIE ou $_SESSION, não vai resolver, porque, ao voltar, a página não carrega essa informação.

Que coisa... descobri o problema, mas e daí? Qual é a solução????????

Por favor, me deêm uma força nessa, preciso muito resolver isso !!!! e logo !!!!

Desde já muito obrigadinha !!!

Abraços pro cês.

Link para o comentário
Compartilhar em outros sites

  • 0

faz assim ó...o campo de cidade...carregar de acordo com o valor que tiver na cookies X.

se tiver vazia...aparece pra escolher...e quando escolher um estado...ele carrega e armazena nessa cookie o estado...

depois...

quando tu carregar, ou coltar denovo...ele vai verificar dessa cookie denovo...que ai ter o valor do estado...aí carrega denovo...

tendeu?

Link para o comentário
Compartilhar em outros sites

  • 0

Oi, Skolroots.

Então, eu tentei fazer dessa forma, mas o problema é que quando eu volto no cadastro para corrigir os erros, a página não é atualizada, então não existe nova leitura da cookie.

Também não posso provocar o refresh da página, porque senão perde os dados que foram preenchidos.

Estou fazendo uma cópia do cadastro para que, se a pessoa tiver que corrigir alguma coisa, vá para uma nova página com as variaveis preenchidas, mas você não imagina o trabalho que dando, pois o cadastro é muito grande e são vários assim.

Se tiver alguma idéia para evitar isso, por favor, responda URGENTEEEEE !!!

Obrigada mesmo !!!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...