Jump to content
Sylvio Ricardo Geraes

Help em Formulário HTML com PHP

Recommended Posts

Olá amigos, preciso muito de uma ajuda já pesquisei aqui no forum segui as instruções de vários e até agora não consegui resolver meu problema, não sei onde estou errando. Fiz um formulário de contato em html e preciso que as informações inseridas pelo usuário seja enviada por e-mail. Segue abaixo o form que está na página em html.

 

<h2>Entre em Contato</h2>
    <form name="tForm" method="post" action="enviar.php">
    <div class="one_third first">
        <label for="cNome">Nome: <span style="color: red">*</span></label>
        <input id="cNome" name="tNome" type="text" placeholder="Informe seu nome" required="required">
    </div>
    <div class="one_third">
        <label for="cEmail">E-mail: <span style="color: red">*</span></label>
        <input id="cEmail" name="tEmail" type="email" placeholder="mail@exemplo.com.br" required="required">
    </div>
    <div class="one_third">
        <label for="cFone">Fone/Whats: <span style="color: red">*</span></label>
        <input id="cFone" name="tFone" type="text" placeholder="(xx) xxxxx-xxxx" required="required">
    </div>
    <div class="one_third first">
        <label>Assunto:</label>
        <select style="color:red; Background:none" id="cAssunto" name="tAssunto" >
            <option style="color:red" value="assunto">Escolha o assunto</option>
            <option style="color:darkblue" value="vendas">Vendas</option>
            <option style="color:darkblue" value="faturamento">Faturamento</option>
            <option style="color:darkblue" value="financeiro">Financeiro</option>
            <option style="color:darkblue" value="reclamacao">Reclamação</option>
        </select>
    </div>
    <div class="block clear">
        <label for="cMsg">Mensagem:</label>
        <textarea class="text" id="cMsg" name="tMsg" placeholder="Deixe sua mensagem" rows="10" cols="40"></textarea>
    </div>
    <p><span style="color: red">*</span><strong> Campos obrigatórios</strong></p><br />
    <p class="submit">
        <input type="submit" value="Enviar" />
        <input type="reset" value="Limpar">
    </p>
    </form>

 

Este são as linhas de instrução em php.

 

<?php

//Quando apertar no botão enviar do formulário chama a instrução

if(isset($_POST['enviar'])){
}
//Email para onde vai o e-mail
$para = "contato@meudominio.com.br"; // "@meudominio.com.br" onde substitui pelo meu dominio
$assunto= "Contato pelo site";

//Dados vindos do formulário contato.html
$cnome= $_POST['tNome'];
$cemail= $_POST['tEmail'];
$cfone= $_POST['tFone'];
$cassunto= $_POST['tAssunto'];
$cmsg= $_POST['tMsg'];

//Montando o corpo do e-mail que vai receber todas as informações do formulário do site
$corpo ="Nome:".$cnome;
$corpo.="E-mail:".$cemail;
$corpo.="Fone/Whats:".$cfone;
$corpo.="Assunto:".$cassunto;
$corpo.="Mensagem:".$cmsg;

//headers responsável que prepara a mensagem 
$header= "MIME-Version: 1.0\r\n";
$header= "Content-Type: text/html; charset= utf-8\n";
$header.="From: $para Reply-to: $cemail\r\n";

//Envia o email
@mail($para, $assunto, $corpo, $header);

//Após o envio do formulário para qual página vai ser direcionada
header("location:contato.html? msg=Mensagem enviada");

?>

 

Acontece que não vai o e-mail nem para mim e nem uma cópia da pessoa que preencheu o formulário. Peço encarecidamente que alguém possa me ajudar.

Share this post


Link to post
Share on other sites

Teste esse código e veja se terá resultado e não esqueça de alterar o email da variável $para.

Utilizo este padrão em sites mais simples.

Estou a disposição para qualquer dúvida.

 

-------------------------

<?php
$msg=0;
@$msg= $_REQUEST['msg'];
?>

 

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <title>Formulário de Contato</title>
</head>
<body>
    <?php if($msg=="enviado"): ?>
    <h1>Mensagem enviada, agradecemos seu contato!</h1>
    <?php else: ?>
    <fiedset>
        <legend><h3>Formulário de Contato</h3></legend>
        <form method="post" action="processa.php">
            <label for="nome"> Nome: </label><br>
            <input id="nome" name="tNome" type="text" required><br>
            <label for="telefone"> Telefone: </label><br>
            <input id="telefone" name="tFone" type="tel" required><br>
            <label for="email"> Email: </label><br>
            <input id="email" name="tEmail" type="email" required><br>
            <label for="nome"> Assunto: </label><br>
            <input id="assunto" name="tAssunto" type="text" required><br>
            <label for="mensagem"> Mensagem </label><br>
            <textarea name="tMsg" id="mensagem"> </textarea><br>
            <input type="submit" value="Submit" name="submit">
        </form>
    </fiedset>
    <?php endif; ?>
</body>
</html>

--------------------------------

 

<?php

$para =  "contato@seudominio.com";
$nome = $_REQUEST['tNome'];
$email = $_REQUEST['tEmail'];
$fone = $_REQUEST['tFone'];
$assunto = $_REQUEST['tAssunto'];
$msg = $_REQUEST['tMsg'];


            $corpo= "<strong> Mensagem de Contato</strong><br><br>";
            $corpo .="<strong> Nome: </strong> $nome";
            $corpo .="<br><strong> E-mail: </strong> $email";
            $corpo .="<br><strong> Telefone: </strong> $fone";
            $corpo .="<br><strong> Assunto: </strong> $assunto";
            $corpo .="<br><strong> Mensagem: </strong> $msg";

            $header= "Content-type: text/html; charset= utf-8\n";
            $header.="From: $email Reply-to: $email\n";

mail($para,$nome,$email,$header);

header("location:contato.php?msg=enviado");
?>

Share this post


Link to post
Share on other sites

pelo visto ou eu não tenha percebido onde o seu site está hospedado, ou se é localmente. Você está utilizando alguma classe para lhe ajudar a enviar o e-mail?

caso seja na própria hospedagem você precisa configurar o arquivo php.ini e inserir o seu e-mail cadastrado na hospedagem. Caso contrario esteja testando localmente, o seu php mailer ou classe que esteja utilizando não foi configurando corretamente, e você não forneceu mais descrições do seu erro. percebi ali que você não fez uma verificação ao enviar o email, oque pode ser isto.

 

tente: $retorno = mail($para,$nome,$email,$header);

 

agora que ja dei minha sugestão que tal me ajudar em minha questão ? 

https://forum.imasters.com.br/topic/581189-sessão-php-some-ao-relogar-página-na-hospedagem/

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By asacap1000
      Galera já verifiquei vários páginas do google mas não encontrei o que precisava. Temos um sistema a qual no final temos a opção d imprimir os dados. que até aí está perfeito utilizo bootstrap para o layout e está ok. Porém preciso colocar a opção de pdf também aí não sai de jeito nenhum com o bootstrap. preciso gerar algo neste formato.
       

       
      Se alguem puder me dar um norte referente a isso agradeço demais.
    • By Rebeca Julia Bronzatti
      Boa tarde, bom ontem no meu projeto tudo estava funcionando normalmente, hoje assim que iniciei notei que os selects alguns buttons estavam divergindo do formato que eu gostaria, eu não faço ideia do porque isso, já que ele não apresenta erro e nada no código foi alterado pelo menos não nesses campos, já tentei fazer novamente mas a configuração continua, tentei alterar  pelo CSS mas infelizmente ele simplesmente ignora,  assim que iniciei hoje o projeto me deparei com esse erro Failed to load resource: the server responded with a status of 404 (Not Found) mas consegui resolver não sei se tem algo haver, se alguém puder me dar um help eu agradeceria muito nunca vi isso na vida. Eu to usando o materialize esse select já vem pronto.
      <div class="col s3"> <select name='tipo' class="browser-default"> <option value="" disabled selected>Tipo</option> <option value="Casa" class="tipo">Casa</option> <option value='Apartamento' class="tipo">Apartamento</option> <option>Sobrado</option> <option>Edicula</option> <option>KitNet</option> <option>Flat</option> <option>Sala Comercial</option> <option>Loja</option> <option>Galpão</option> <option>Terreno</option> <option>Fazenda</option> </select> </div>  

    • By dimoreira
      Boa noite programadores, estou a procura de um profissional que desenvolva um site simples, que tem apenas que me mostrar os resultados em tempo real da pagina de resultados da bet 365. Mas especificamente do futebol virtual. Vou mandar em anexo uma foto pra ter como base.   O modelo mais simples possivel é somente para acompanhar os resultados em tempo real sem ter q esta acessando o site da bet.


    • By Rafaeloliveiraz
      Olá pessoal,
       
      Eu estou tentando criar uma variavel para fazer um checker no conteúdo do input de um form antes de realizar o envio... Por exemplo SE o conteúdo do campo começar com "http://facebook.com/..." ele faz o envio normalmente, porém caso o começo seja OUTRO preciso que substituia o valor preenchido por um valor padrão e ai realize o envio.
       
      Acredito que com if e else resolva meu problema, eu até criei o bloqueio para que o conteúdo não seja enviado se for diferente mas por algum motivo ele só está funcionando se a pessoa tentar enviar uma segunda vez, como se o bloquei só funcionasse após a pessoa realizar o primeiro envio, então acabei desativando. O códito está somente assim agora:
       
       
      <form action="" id="shortForm" method="post"> <div> <input type="text" name="url" id="url" size="60" value="http://" onfocus="clearText(this)" class="input round-left" /> <button class="input button round-right" id="create">Encurtar URL</button> </div> </form>  
       
      Este form é para um encurtador de URL, onde eu quero que somente URLs do meu site sejam encurtadas, e caso alguém utilize uma URL para outro site preciso que o form altere o link dessa pessoa para outro padrão sem que ela saiba...
       
      Eu até montei a função mas não estou sabendo como posso mesclar com o input do form:
       
      <!DOCTYPE html> <html> <body> <p>Mudar conteúdo de envio</p> <input id="url" type="text"> <button onclick="myFunction()">Encurtar</button> <p id="envio"></p> <script> function myFunction() { var link = document.getElementById("url").value; var text; // Se a URL estiver certa if (link === "http://meusite.com/...") { input = "Enviado sem alterações"; // Se a url for outra } else { input = "http://urlcorreta.com"; } document.getElementById("envio").innerHTML = input; } </script> </body> </html>  
      Alguém poderia me dizer se isso poderia funcionar e como eu deveria seguir para mesclar ambos?
       
      Obrigado.
       
    • By Moacir Guilherme Filho
      Olá, possuo um formulário PHP para inserir em uma tabela no banco MySQL. Preciso criar uma função (PHP ou JAVA) semelhante ao "auto increment" para preencher um campo na minha tabela no banco que seja semelhante a isso, quando for inserindo: 0001/2020, 0002/2020, 0003/2020, porém ao virar o ano a numeração tem que zerar, ficando assim: 0001/2021, 0002/2021, 0003/2021. Formulário tem o nome "cad_ocorrencia.php", o banco "sisgcm", a tabela "atendimento" e o campo da tabela "numero_ocorrencia". No MySQL a tabela está assim: atendimento (id_atentidmento, numero_ocorrencia, datainicio e hora inicio). Obs: A função tem que funcionar como o auto increment porque o sistema será usado por mais de uma pessoa e se a função fizer a consulta no banco na hora que o formulário for aberto, poderá causar duplicidade de numero de ocorrência, então deve ser executada igualmente ao auto incremento.
      Desde já agradeço meus Mestres deste site.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.