Forum Pplware
HTML Form - Versão de Impressão

+- Forum Pplware (http://forum.pplware.com)
+-- Fórum: Mais Tech (/forumdisplay.php?fid=11)
+--- Fórum: Programação e Web (/forumdisplay.php?fid=16)
+--- Tópico: HTML Form (/showthread.php?tid=8426)

Páginas: 1 2


HTML Form - downv - 13-02-2011 20:50

Boas ppl,

Estou a fazer um site e preciso de fazer uma contactForm, fiz este código mas não sei por isso a funcionar, queria tambem que mostrasse uma mensagem de confirmação se o mail for enviado.

Código:
<div id="contact">
            <img class="c" src="_images/c.png" width="285" height="80" />
            <form id="email" method="post" action="mailto:my email">
            <label for="name">Name:</label>
            <input type="text" name="name" id="name" tabindex="10"  placeholder="" required>
            <label for="email">Email:</label>
            <input type="email" name="email" id="email" tabindex="20" placeholder=""  required>
            <label for="url">Subject:</label>
            <input type="text" name="subject" id="subject" tabindex="30">
            <label for="message">Message:<br /></label>
            <textarea name="message" id="message" tabindex="40"></textarea><br><br>
            <input type="submit" name="submit" id="submit" tabindex="50" value="Send Email">
            </form>
        </div>

Obrigado


Ja agora o site é este: http://www.djluisoliveira.co.cc/


RE: HTML Form - Corvus - 13-02-2011 23:25

O action="mailto:my email" não é dos métodos mais aconselháveis a usar em forms, pois vais ficar dependente do sistema de mail do visitante.

Quanto a mostrares uma mensagem de confirmação, não é possível pois tu não tens qualquer controle sobre o envio dos dados.

O ideal seria fazeres o postback da form para outra página, processar lá os dados e apresentares a mensagem de confirmação. Claro que isto implica que estejas a usar algo tipo php, perl ou similar e não apenas html.



Em nota de rodapé: Fazeres o download de um ficheiro enorme quando o visitante entra na tua página não é a melhor maneira de o convencer a voltar Wink


RE: HTML Form - downv - 13-02-2011 23:30

Vou tentar fazer isso em php, mas não queria ter outra pagina para contacto, queria que ficasse como ta agora dropdown quando o cursor esta em cima.

Obrigado pela dica, vou desligar o autoplay Wink


RE: HTML Form - Corvus - 13-02-2011 23:36

Podes manter a form como está, apenas terás que mudar o action e apontá-lo para uma página que processe os dados (até pode ser a mesma).


RE: HTML Form - downv - 14-02-2011 00:32

Fiz isto em php:

Código:
<?php
$to = "****@live.com.pt";
$nome = "$name";
$de = "$email";
$assunto = "$subject";
$mensagem = "$message";
$headers = "From: $de";
mail($to,$nome,$assunto,$mensagem,$headers);
echo "Mail Sent";
?>

O problema é que não sei por isso a funcionar na form que criei.
Adicionei mail.php na action da form e guardei o ficheiro mail.php no servidor, mas quando faço send mail abre-me o ficheiro php.


RE: HTML Form - Corvus - 14-02-2011 00:41

Pergunta importante: o teu hosting tem suporte de php?


RE: HTML Form - downv - 14-02-2011 00:43

Penso que sim..

http://www.ptservidor.pt/alojamento/linux/ É o PTS1.

Ja consegui executar o php só que recebo a mensagem de confirmação mas não recebo nenhum mail.


RE: HTML Form - Corvus - 14-02-2011 01:09

Confirma no cpanel se tens a parte das contas de email bem configuradas


RE: HTML Form - downv - 14-02-2011 01:21

Não sei o que configurar...


RE: HTML Form - Corvus - 14-02-2011 01:26

Não estou muito habituado a trabalhar com alojamentos que não sejam meus, mas sei que a função mail do php usa o sistema de mail do servidor. Logo deduzo que tenhas que ter pelo menos uma conta de email configurada para funcionar. Posso estar a dizer grande asneira, claro.

Outra coisa, verifica o valor de retorno da função mail. Embora um retorno TRUE apenas signifique que o mail foi entregue ao sistema de mail do servidor, ao menos tens a garantia que chegou ai.

Mais um pormenor, verifica quaisquer logs que possas ter no alojamento. Podes lá ter informação que te diga o porque de não receberes os mails.