Ir para conteúdo

POWERED BY:

Arquivado

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

Ygornet

Como retornar a um form com os dados preenchidos anteriormente?

Recommended Posts

Tipo pessoal , desculpa aew , eh que to comessando a aprender a mexer com isso , passo varios perrengues aki.. Mas vamos lah.Por exemplo , eu fiz um form com campo texto, campo arquivo, etc.. Aí qndo vou enviar o form e algo esta errado e Aparece a mensagem que eu coloquei pra nao Validar , aí eu aperto OK, volta pro Form com os dados todos em branco. Teria como eu fazer voltar com os dados preenchidos anteriormente?

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você é inicante, da uma estudada em cookies, é nele que fica armazenadas essas informaçoes suas!!!se você é inicante, da uma estudada em cookies, é nele que fica armazenadas essas informaçoes suas!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra forma: Coloque o action do seu form para a própria página do formulário, no inicio da página faça a validação dos dados, se eles estiverem corretos você redireciona para outra página. Senão você exibe a página normalmente e no campo value dos campos de seu formulário coloque:

 value = "<? if (isset($_POST['campo'])) echo $_POST['campo']; ?>"

Se você tiver alguma dúvida de como fazer isso, posta ae que eu te ajudo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rafael D,

 

Bom , vamos por parte.

 

Eu estava validando tudo em outra página e qndo nao era valido eu mandava uma mensagem JS. Então deixa eu mudar tudo aki e colocar pr validar na mesma pagina jah que tem que ser na memsa pagina né?

Compartilhar este post


Link para o post
Compartilhar em outros sites

E outra coisa , se eu colocar pr validar na mesma pagina do form, os post só funcionará nessa mesma pagina , no caso se tudo estiver valido eu nao preciso ir pra outra pagina , pq nessa outra pagina nao poderei usar os Post.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta colocar nas tags value assim: nao sei se da, nuca fiz, mas acho que da, pq o php armazae as variaveis!!!!

 

<input name="MM_insert" type="text" value="<? echo $_POST['MM_insert']; ?>">
TIPO .... quando carregar a primeira vez, as $_POST['nome_da_tag'] estarao vazias ai nao exibe nda, do contrario, exibe as $_POST['nome_da_tag']...

 

agora a validaçao dentro ou fora da mesma pagina independe, pois se tiver q dar erro vai dar o mesmo!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo, não precisa ser necessariamente na mesma página, mas eu geralmente uso isso nesta situação que você falou.Agora, você disse que valida por JS, existe um envetou que se chama onSubmit(), procure saber sobre ele, não lembro exatamente mas acho que ele fica assim: <form onSubmit=" return SuaFuncao(this)">ele funciona da seguinte forma: Ao clicar no botão submit, ele chama "SuaFuncao" e passa os valores do formulário para ela, lá você pode verificar todos os campos.. se não houver erros você coloca return "true";. Se hoverem erros coloca assim.. alert("Existem erros no formuçário"); return "false";Quando retornado false o forumlário não é submetido e a página não é alterada( ou seja, você não perde os dados).Esse caso que eu falei você usa quando o PHP valida os formulário (o que é recomendado já que o usuário pode desativar o javascript)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rafael,

 

Coloquei tudo pr ser vaido na mesma pagina ...

 

Mas o lance do value = "<? if (isset($_POST['campo'])) echo $_POST['campo']; ?>", só funciona pra campo text, mas no meu form tem campo file e textarea, aí nao aceita 'value'.

 

Correção: 'pra ser valido'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para o textarea você pode por<textarea><? if (isset($_POST['campo'])) echo $_POST['campo']; ?></textarea>Como está o campo do arquivo? Este caso eu nunca tratei...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O campo do arquivo tah assim: <b>Selecione uma foto:</b><br><input type = "file" name="arquivo" size="33" ><br><br>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se for o caso, veja se você consegue tratar este caso com sessão, como o Adailton sugeriu. Pode vir a facilitar as coisasComo o caso do arquivo eu nunca tratei, não sei de imediato a resposta. Mas se eu descobrir eu posto aqui, as vezes alguem por aqui deve saber..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dois problemas..1- Nao consigo pegar o valor (caminho do diretorio) que fica no campo do arquivo assim qeu eu escolho o arquivo.2- Se eu envio o form e nao eh validado os valores continuam. Beleza. Mas se são validados todos os campos certinho ocorre tudo correto , mas o valor nos campos continuam.

Compartilhar este post


Link para o post
Compartilhar em outros sites

kra , vai ter que usar variavel de sessao mesmo,

que ai você faz um funçao que assim que seu post der tudo certinho você volta matando elas como session_destroy();

 

ai você substitui a $_POST[] por $_SESSION[]

 

if(!deu tudo certo o form) {retonra}

else{

vai pra inclusao em db ou ond você mandar;

session_destroy();

}

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas não fiz atraves de session Adailton.Pensei em se tudo for validado redirecionar pra outra pagina escrito que foi validado com sucesso e um link para voltar pra pagina anterios, mas nao sei como fazer pra redirecionar pr outra pagina sem usar JS. Nao queria usar JS.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adaílton,

 

O header apresenta o seguinte erro:

 

Warning: Cannot modify header information - headers already sent by (output started at 'caminho diretório') in 'caminho diretório' on line x.

 

Mas é enviado , só nao muda de pagina!

 

Será eu eh pq tah chamando a mesma pagina?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui com :echo "<script type=\"text/javascript\">";echo "self.location=\"sucesso.php\"";echo "</script>";Sóm nao queria usar JS , mas..

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.