Jump to content
Fórum Script Brasil
  • 0

Campos De Um Formuário Retornam Em Branco.


Guest --Evandro Fontes --
 Share

Question

Guest --Evandro Fontes --

Olá pessoal, criei uma funçaozinha básica pra exibir um alert e redirecionar pra uma determinada página. Em uma das páginas de cadastro, quando a pessoa digite um email inválido, ele dá o alerta "Email inválido". E volta pra página do formulário, só qeu ao voltar para a página ,todos os campos estão em branco de novo... alguém poderia me ajudar?

A seguir minha função, e como eu estou usando:

:blink:function ShowBox($mensagem="", $redir = "", $parar = false){

if($mensagem == ""){

exit;

}

$mensagem = str_replace(chr(39), "\'", $mensagem);

$txt="<script language=javascript>

alert('$mensagem'); \n";

if($redir != ""){

if($redir == "-1"){

$txt .="history.back(); \n";

}else{

$txt .="document.location='$redir'";

}

}

$txt .="</script>";

echo $txt ;

if( is_bool($parar) ){

if( $parar == true){

exit;

}

}

}

Eu a chamo da seguinte forma:

if(!validaEmail($email)){

ShowBox("O email informado é inválido, por favor verifique","-1", true);

}

Onde: validaEMail() é uma funçao de validação de emails.

e $email a variável contendo o email digitado...

Já tentei de td imáginável.. mas nada funfou até agora ...

Se alguém souber o que possa ser... ficarei grato..

Abraços.

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0
Guest --Evandro Fontes --

Mas ai eu vou ter que fazer um teste em cada campo, pra ver se existe ou não as sessões.... geralmente quando você preenche um formulário e volta pelo navegador ele está td preenchido...

Eu vi essa função "ShowBox" em asp, e converti pro php... e no asp ela não aapgava os campos.... deve ser alguma configuração no php.. ou algum comando.. só não sei qual...

Essa idéia de gravar nas sessões já me apssou pela cabeça... mas seria um trabalho um tanto que desnecessário.. se existir uma forma dem anter esses valores, deve ser melhor do que fazer esse ajsutes das sessões ^^

Link to comment
Share on other sites

  • 0

Os dados não são apagados quando você volta para a pagina usando o botão voltar do navegador, ou voltar do botao direito mouse, quando você redireciona para a pagina ela carrga novamente e limpa o formulario.

Link to comment
Share on other sites

  • 0

Mas ai que está, eu não recarrego denovo a página, eu volto usando as funções do javascript mesmo..

history.go(1-);

ou

history.back();

Tentei as duas e deu a mesmo coisa... Não deveria ser assim, se você faz uma página puro HTML e coloca essas funç~eos ela preserva os valores dos campos...

Link to comment
Share on other sites

  • 0

Se está apagando é porque a página está sendo recarregada, isso pode acontecer porque você está usando algum tipo de autenticação (as vezes acontece) ou porque você definiu para não existir cache da página...

Link to comment
Share on other sites

  • 0
Se está apagando é porque a página está sendo recarregada, isso pode acontecer porque você está usando algum tipo de autenticação (as vezes acontece) ou porque você definiu para não existir cache da página...

Tem a autenticação do sistema de login, verifico se existe a sessão 'logado' ...Eu procurei algo do tipo, sei lá algum header ou outra função para que não fosse "recarregada".. mas nada.. fiz um teste...

Link to comment
Share on other sites

  • 0

Po velho tenta esse script aqui ele é todo em javascript e funciona direitinho:

esse código só valida o email ele verifica se o email é valido ou não.

<html>
<head>
&lt;script language="javascript" type="text/javascript">
<!--
// funcao que valida email  
function validaMail() {
    var email = document.FormAss.email.value;
    var car = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
    if(!(car.test(email))) {
        document.getElementById("emailV").innerHTML = "email invalido!";
        document.FormAss.email.style.background = "#FFB9BB";
        document.FormAss.email.style.border = "1px solid #FF9396";
    } else {
        document.getElementById("emailV").innerHTML = "valido!";
        document.FormAss.email.style.background = "#BFFFAA";
        document.FormAss.email.style.border = "1px solid #33FF66";
        FormAss.submit();
    }
}
//-->
</script>
</head>

<body>
<h3><span id="emailV"></span></h3>
<form name="FormAss" method="get">
Email: <input type="text" name="email" size="40">
<input type="button" value="Enviar" onclick="validaMail()">
</form>

<hr>

<?php
$email = $_GET['email'];

echo $email;
?>
</body>
</html>

Ta ai espero que eu tenha ajudado.

Qual quer duvida poste aqui no forum!!!

Falows!!! B)

Edited by Diego.G.A
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...