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

Formulário Perde Os Valores


siabreu

Pergunta

Olá a todos,

Tenho um formulário solicitando alguns dados. Passo para um scritp que valida os campos do forumulário. Se encontrar algum campo em branco, dá uma mensagem e volta para a página do formulário.

O problema é que quando retorna, todos os dados são perdidos!!

Tem como fazer com que ao retornar para preencher o campo em branco, não perder o que já havia sido digitado? (é que preciso fazer um formulário com muitos campos!)

form.htm

<html>
<head>
<title>Teste de formulário</title>
</head>

<body topmargin="0" leftmargin="0">

<div align="center">
  <center>
<table border="0" cellpadding="0" cellspacing="0" width="668" >
  <tr>
    <td class="tdgeral" width="80%" valign="top">

<form method="POST" enctype='multipart/form-data' action="submit.php">

      <table border="0" cellpading="0" cellspacing="0" border="1" width="620">
      <tr>
        <td class="tdgeral" whidth="100" >Nome arquivo</td>
        <td class="tdgeral"><input type="text" name="txt_titulo" size="50"></td>
      </tr>
      <tr>
        <td class="tdgeral" whidth="100">Nome</td>
        <td class="tdgeral"><input type="text" name="txt_autor1" size="50"></td>
      </tr>
      <tr>
        <td class="tdgeral" whidth="100">Instituição</td>
        <td class="tdgeral"><input type="text" name="txt_inst1" size="50"></td>
      </tr >
      <tr>
        <td class="tdgeral" whidth="100">Arquivo</td>
        <td class="tdgeral"><input type="file" name="txt_arq" size="20"></td>
      </tr>
      <tr>
        <td class="tdgeral" whidth="100">e-mail</td>
        <td class="tdgeral"><input type="text" name="txt_email" size="20"></td>
      </tr>
      <tr>
      <tr>
        <td class="tdgeral" whidth="100"><input type="submit" name="bt_submit" value="Submeter"></td>
        <td>&nbsp;</td>
      </tr>
      </table>
</form>
</body>
</html>
submit.php
<?
$titulo = $_POST["txt_titulo"];
$autor1  = $_POST["txt_autor1"];
$inst1 = $_POST["txt_inst1"];
$email = $_POST["txt_email"];


//RECEBE OS DADOS DO CAMPO $_FILES
//nome temporário no servidor
$arq_temp = $_FILES['txt_arq']['tmp_name'];
//nome do arquivo na máquina do usuário
$arq_name = $_FILES['txt_arq']['name'];
//Tamanho do arquivo
$arq_size = $_FILES['txt_arq']['size'];
//tipo mime do arquivo
$arq_type = $_FILES['txt_arq']['type'];


/*Validação de campos do formulário*/
$erro = 0;
if (empty($titulo))
{
   $erro = 1;
   //$mensagem = "Título do artigo não informado!";
   echo "Título do artigo não informado!<BR>";

}
if (empty($autor1) or empty($inst1))
{
   $erro = 1;
   echo "Nome ou instituição não informados!<BR>";
}
if (strstr($email,'@') == FALSE)
{
   $erro = 1;
   echo "e-mail inválido!<BR>";
}

if ($erro == 0)
{
   //envia arquivo para pasta específica - checa se é um arquivo no formato pdf
  if($arq_type == 'application/pdf')
  {
    //define o diretório de armazenamento do arquivo
    if ($area==1)
    {
      $local = "C:/teste/comp/$arq_name";
    }
    if($area==2)
    {
      $local = "C:/teste/eng/$arq_name";
    }
    if ($area==3)
    {
      $local = "C:/teste/arq/$arq_name";
    }

    if((!copy($arq_temp, $local)))
       echo "Aconteceu algum erro !!!";
    else
    {
      echo "<BR> Submissão Realizada com Sucesso !!!";
    }
  }
  else
   {
     echo "Tipo de arquivo inválido";
     echo "<BR><a href='formsub.htm'>voltar</a>";
   }
}
else
 {
  echo "<BR><a href='formsub.htm'>voltar</a>";
 }
?>

Se alguém puder me ajudar??

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
Guest - tiago -

faz o seguinte ... você deve utilizar alguns campos hidden do form para passar atraves do method post as informaçoes, depois é só recupera-las com um array superglobal $_POST[nome_do_campo] qd clicar no botao submit ... quaquer coisa posta denovo .... t+

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,1k
    • Posts
      651,9k
×
×
  • Criar Novo...