Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Hugu

Formulário de contacto

Mensagens Recomendadas

Hugu

Boas!

Tenho um formulario no meu website e queria pôr ele a funcionar mas n sei como faze-lo! Estou a pensar em algo em java script, e queria o seguinte:

1)queria que ao escrever o formulario, certos campos do formulario sejam de preenchimento obrigatorio (campo "nome" e campo "email")

2)queria que precionarmos no botao send a script criasse um ficheiro de texto numa pasta p.ex.:"mensagens" que está alojada no servidor, com um nome 001.txt, 002.txt,....,999.txt, escrevesse no txt o nome na primeira linha, o email na 3ª linha, o assunto na 5ª linha e o texto apartir da 7ª linha..

Como faço isso em javascript?

O codigo html do formulario tenho-o assim feito:

<FORM>
<table border="0" width="100%">
<tr>   <td align=right><font size=3>Nome:</font></td> <td><INPUT TYPE="text" NAME="Nome:" SIZE="40" MAXLENGTH="40"></td> <td align=left>(Campo obrigatório)</td> </tr>
<br>
<tr>   <td align=right><font size=3>E-Mail:</font></td> <td><INPUT TYPE="text" NAME="E-Mail:" SIZE="40" MAXLENGTH="40"></td> <td align=left>(Campo obrigatório)</td> </tr>
<br>
<tr>   <td align=right><font size=3>Assunto:</font></td> <td><INPUT TYPE="text" NAME="Assunto:" SIZE="40" MAXLENGTH="40"></td> <td> </td> </tr>
</table>
<br>
<TEXTAREA NAME="comentario" COLS="60" ROWS="10" MAXLENGTH="8">
</TEXTAREA>
<br>
<INPUT TYPE="checkbox" NAME="Browser" VALUE="Netscape"> Reenviar para o meu e-mail<br><br>
<a href="mailto:comercialg7@gmail.com"> <INPUT TYPE="submit" VALUE="Enviar"> </a> 
<INPUT TYPE="reset" VALUE="Limpar Tudo">
</table>
</FORM>

cujo o resultado é este:

screenshotdm.png

obrigado!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter

JavaScript != Java :)

Esta é a secção de Java e não de Javascript, que (in)felizmente são duas linguagens bastante diferentes. Um moderador que mova isto para o local certo.

Quanto à pergunta, primeiro, Javascript corre no browser, não no servidor, e no browser o Javascript não pode criar ficheiros, nem de texto nem de outro formato qualquer. Não correndo no servidor, também não é possível criar ficheiros no servidor com Javascript.

O que terás obrigatoriamente de fazer é usar uma linguagem que execute no servidor, sendo que PHP é capaz de ser um boa opção, embora qualquer outra linguagem que tenhas acesso possa servir, e tratar o pedido que o browser faz.

Na acção do formulário colocas o endereço do script que vai processar o pedido, e nesse script guardas os dados.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Hugu

O que terás obrigatoriamente de fazer é usar uma linguagem que execute no servidor, sendo que PHP é capaz de ser um boa opção, embora qualquer outra linguagem que tenhas acesso possa servir, e tratar o pedido que o browser faz.

Na acção do formulário colocas o endereço do script que vai processar o pedido, e nesse script guardas os dados.

😳

E em php como faria a coisa?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter

Que conhecimentos de programação tens?

O melhor seria mesmo pegares num manual de PHP, mas assim por alto:

  • Os dados de um formulário com method POST estão disponíveis nos scripts PHP através da variável $_POST, portanto aceder ao dados com, por exemplo, $_POST['Nome'], etc.
  • Usar o método file_put_contents ou os métodos fopen, fwrite e fclose para escrever os dados para o ficheiro. Utilizar os que forem mais úteis ou estiverem disponíveis na versão de PHP utilizada

Se procurares por tutoriais para formulários em PHP encontras centenas de resultados, todos eles te darão uma abordagem rápida de como usar PHP para processar dados de um formulário HTML.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Hugu

Nao sei muito.. ando a ler uns tutoriais, mas é complicado encaixar tudo numa semana!..

Arranjei um exemplo dum forum de contacto, mas n consigo pô-lo a funcionar e n sei porque!  :bye2:

Alguém me pode ver onde está a gafe no codigo php?

É assim, tenho 2 ficheiros o form.html e o formulario.php e n consigo ver onde ha erro no codigo php..

<html>
<head>
<title>Formulário – MX Studio</title>
</head>
<body>
<form action="formulario.php" method="post" name="form_mxstudio" id="form_mxstudio" onsubmit="return validar();">
<table width="35%" border="1" cellpadding="2" cellspacing="2" bordercolor="#666666">
<tr>
<td colspan="2" bordercolor="#FFFFFF" bgcolor="#0099CC"><h3 class="style1">Formulário MX Studio </h3></td>
</tr>
<tr>
<td width="25%" align="right" bordercolor="#FFFFFF" bgcolor="#DFF4FF"><span class="style14">Seu nome:</span></td>
<td bordercolor="#FFFFFF"><input name="nome" type="text" id="nome" size="33"></td>
</tr>
<tr>
<td align="right" bordercolor="#FFFFFF" bgcolor="#DFF4FF"><span class="style14">Seu email:</span></td>
<td bordercolor="#FFFFFF"><input name="email" type="text" id="email" size="33"></td>
</tr>
<tr>
<td align="right" bordercolor="#FFFFFF" bgcolor="#DFF4FF" class="style14">Assunto:</td>
<td bordercolor="#FFFFFF"><input name="assunto" type="text" id="assunto" size="33" /></td>
</tr>
<tr>
<td align="right" bordercolor="#FFFFFF" bgcolor="#DFF4FF"><span class="style14">Mensagem:</span></td>
<td bordercolor="#FFFFFF"><textarea name="mensagem" cols="30" rows="5" id="mensagem"></textarea></td>
</tr>
<tr>
<td bordercolor="#FFFFFF"> </td>
<td align="right" bordercolor="#FFFFFF"><input name="enviar" type="submit" id="enviar" value="enviar"></td>
</tr>
</table>
</form>
</body>
</html>

<?php  print '<pre>'; print_r($_POST); print '</pre>'; ?>


<?php

$mensagem .= 'Nome: '.$_POST['nome'].' ';
$mensagem .= 'Email: '.$_POST['email'].' ';
$mensagem .= 'Mensagem:'. $_POST['mensagem'];

mail('seuemail@email.com, 'Formulário de Orçamento do site, $mensagem);


echo 'Enviado com Sucesso!';
echo 'Em breve entraremos em contato.';
?>



<script language=javascript>
   function validar() {
      var valido = false;
  
      with(document.form_mxstudio) {
             if (nome.value.length == 0){
                  valido = false;
                  nome.focus();
                  alert ('Campo nome obrigatório.');
     
              }else if(email.value.length == 0) {
                 valido = false;
                 email.focus();
                 alert ('Campo email obrigatório.');
    
               }else if(assunto.value.length == 0) {
                  valido = false;
                  assunto.focus();
                  alert ('Campo assunto obrigatório.');
    
              }else if(mensagem.value.length == 0) {
                 valido = false;
                 mensagem.focus();
                 alert ('Campo mensagem obrigatório.');
    
             }else {
                valido = true;
                submit();
             }
        return valido;
       } 
  }
</script>

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Hugu

Alguém me pode dizer se o codigo php tem alguma gafe ou se lhe falta alguma coisa?

É que n consigo pôr o dito cujo a funcionar!..  😲

Obrigado!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
scorch

Aqui não fechas as aspas.

mail('seuemail@email.com, 'Formulário de Orçamento do site', $mensagem);


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.