HTML and PHP form

Asked

Viewed 757 times

1

How it works to send to the email or according to the hosting plan to be able to access the forms of customers of the site

<!DOCTYPE html>
<html>
<head>


    <meta charset="utf-8">
    <title>Atila Silva</title>
    <link rel="stylesheet" type="text/css" href="css.css">
    <link rel="stylesheet" type="text/css" href="css1.css">



    <header>
    <nav id="i">

    </nav>

    <nav id="menu">
        <h1>Menu Principal</h1>
            <ul type="disc">
            <li > <a href="index.html"> Home </a></li>
            <li> <a href="contatos.html"> Contatos</a></li>
            <li> <a href="img.html">Imagens</a> </li>
            <li><a href="fale-conosco.html">Fale Conosco</a></li>
        </ul>
    </nav>
    </header>
    </head>

<body>
    <div id="interface">
    <form method="get" action="form.php">

        <fieldset id="usuario">
        <legend id="usuario">Identificação do Usuário</legend>
        <p> <label for="cnome">Nome:</label> <input type="text" name="nome" id="cnome" size="20" maxlength="30" placeholder="Nome Completo"> </p>
        <p><label for="cemail">Email:</label> <input type="Email" name="email" id="cemail" size="20" maxlength="40" placeholder="digite seu email"> </p>
        <fieldset id="sexo"><legend id="sexo"> Sexo:</legend>
            <input type="radio" name="sexo" id="cmasc" value="Homem" > <label for="cmasc" id="masc" >Masculino</label><br>
            <input type="radio" name="sexo" id="cfem" value="Mulher" /> <label for="cfem" id="fem" > Feminino </label></fieldset>
        <p><label for="cnasc">Data de Nascimento </label><input type="date" name="tnasc" id="cnasc"> </p>
        </fieldset>

    <fieldset id="endereco">
    <legend id="endereco">Endereço do Usuário</legend>
        <p><label for="crua">Logradouro:</label> <input type="text" name="rua" id="crua" size="13" maxlength="80" placeholder="RUA,AV,TRAV,etc"></p>
        <p><label for="cnum">Número:</label> <input type="number" name="num" id="cnum" min="0" max="99999"></p>
        <p><label for="cest">Estado:</label><select name="test" id="est">
            <option value="0">Selecione o Estado</option>
            <option value="ac">Acre</option>
            <option value="al">Alagoas</option>
            <option value="ap">Amapá</option>
            <option value="am">Amazonas</option>
            <option value="ba">Bahia</option>
            <option value="ce">Ceará</option>
            <option value="df">Distrito Federal</option>
            <option value="es">Espirito Santo</option>
            <option value="go">Goiás</option>
            <option value="ma">Maranhão</option>
            <option value="ms">Mato Grosso do Sul</option>
            <option value="mt">Mato Grosso</option>
            <option value="mg">Minas Gerais</option>
            <option value="pa">Pará</option>
            <option value="pb">Paraíba</option>
            <option value="pr">Paraná</option>
            <option value="pe">Pernambuco</option>
            <option value="pi">Piauí</option>
            <option value="rj">Rio de Janeiro</option>
            <option value="rn">Rio Grande do Norte</option>
            <option value="rs">Rio Grande do Sul</option>
            <option value="ro">Rondônia</option>
            <option value="rr">Roraima</option>
            <option value="sc">Santa Catarina</option>
            <option selected="São Paulo" value="sp">São Paulo</option>
            <option value="se">Sergipe</option>
            <option value="to">Tocantins</option>
        </select></p>
        <p><label for="ccity">Cidade:</label><input type="text" name="city" id="ccity" size="20" maxlength="40" placeholder="Nome da Cidade"></p>
    </fieldset>

        <fieldset id="mensagem">
        <legend id="msg">Mensagem do Usuário</legend>
            <p><label>Grau de Urgência:</label>Mín<input type="range" name="urg" id="curg" min="0" max="10" step="5">Máx</p>
            <p><label for="cmsg">Mensagem:</label>
                <textarea name="msg" id="cmsg" cols="45" rows="5" placeholder="Deixe aqui sua mensagem"></textarea></p>
            </fieldset>


            <input type="submit" name="Enviar" >
            <input type="reset" name="Limpar">

        </form>




</div>
</body>
</html>

PHP

<!DOCTYPE html>
<html>
<head>
    <title>php</title>
    <meta charset="utf-8">
    <link rel="stylesheet" type="text/css" href="css.css">
    <link rel="stylesheet" type="text/css" href="css1.css">
</head>
<body>

    <h1>FORMULÁRIO</h1>
    <?php

    $vnome= isset($_GET["nome"])?$_GET["nome"]:"[Não Informado]";
    $vemail= isset($_GET["email"])?$_GET["email"]:"[Não Informado]";
    $vsexo= isset($_GET["sexo"])?$_GET["sexo"]:"[Não Informado]";
    $vnasc= isset($_GET["tnasc"])?$_GET["tnasc"]:"[Não informado]";
    $vrua= isset($_GET["rua"])?$_GET["rua"]:"[Não Informado]";
    $vnum= isset($_GET["num"])?$_GET["num"]:"[Não Informado]";
    $vtest= isset($_GET["test"])?$_GET["test"]:"[Não Informado]";
    $vcity= isset($_GET["city"])?$_GET["city"]:"[Não Informado]";
    $vurg= isset($_GET["urg"])?$_GET["urg"]:"[Não Informado]";
    $vmsg= isset($_GET["msg"])?$_GET["msg"]:"[Não Informado]";
    $idade=date("Y")-$vnasc;
    echo "Digitou <br/> $vnome <br/> $vemail <br/> $vsexo <br/> $idade <br/> $vrua <br/> $vnum <br/> $vtest <br/> $vcity <br/> $vurg <br/> $vmsg <br/>";




    ?>

</body>
</html>
  • You want to email the data when submitting the form ?

  • I do not know how it works very well because I am new, but if it is possible to send by email is better you can teach me?

2 answers

1

Good afternoon ,

Assuming you wish to send the data submitted in the form to the email, you must import the phpmailer library.

User Identification

Name:

Email:

Sex: Masculine
Feminine

Date of Birth

User Address

Patio:

Number:

State: Select the State Acre Alagoas [...]

City:

User Message

Degree of Urgency:Min

Message:

    <?php


            $vnome= isset($_POST["nome"])?$_POST["nome"]:"[Não Informado]";
    $vemail= isset($_POST["email"])?$_POST["email"]:"[Não Informado]";
    $vsexo= isset($_POST["sexo"])?$_POST["sexo"]:"[Não Informado]";
    $vnasc= isset($_POST["tnasc"])?$_POST["tnasc"]:"[Não informado]";
    $vrua= isset($_POST["rua"])?$_POST["rua"]:"[Não Informado]";
    $vnum= isset($_POST["num"])?$_POST["num"]:"[Não Informado]";
    $vtest= isset($_POST["test"])?$_POST["test"]:"[Não Informado]";
    $vcity= isset($_POST["city"])?$_POST["city"]:"[Não Informado]";
    $vurg= isset($_POST["urg"])?$_POST["urg"]:"[Não Informado]";
    $vmsg= isset($_POST["msg"])?$_POST["msg"]:"[Não Informado]";
    $idade=date("Y")-$vnasc;

              $header = "MIME-Version: 1.0\n"; 
              $header .= "Content-type: : multipart/related; charset=iso-8859-1\n"; 

             //Importamos o phpMailer
          require_once(dirname(__FILE__).'/../../inc/phpmailer/class.phpmailer.php');

               //Nova instância do PHPMailer
                $mail = new PHPMailer;

                $mail->IsSMTP();   //Informa que será utilizado o SMTP para envio do e-mail
                $mail->SMTPAuth   = true;
                $mail->SMTPSecure = "tls";
                $mail->Port       = 587;
                $mail->Host       = "smtp.gmail.com";  //SMTP
                $mail->Username =  "[email protected]"; //EMAIL QUE IRA ENVIAR
                $mail->Password =   "senhadoseuemail";        //SENHA EMAIL

                //Assunto do e-mail que será enviado
                $mail->Subject  =   "TITULO DO EMAIL";

                //Preenchimento do campo FROM do e-mail
                $mail->From = "[email protected]";
                $mail->FromName = "SEU NOME";

                 //Dados do formulario
                $data = date('d/m/Y');
                //E-mail para a qual o e-mail será enviado
                $mail->AddAddress($email);

              // HTML COM O CORPO DO EMAIL

              $corpo = "";
              $mail->Body = $corpo;
              $mail->AltBody = $mail->Body;
              if($mail->Send()){
                  print "Email enviado com sucesso!!";
              }else{
                  print "Falha ao enviar o email!!";
}

            ?>
  • GOOD AFTERNOON!! With this code I can, even after the site is hosted receive the form by email?

  • Good afternoon, yes. Change here //E-mail to which e-mail will be sent & #Xa; $mail->Addaddress($email); the $email variable for the email you want the system to send .

  • OK I’ll run some tests here. Thank you !!!

  • Okay, anything signals here.

0

Phpmailer is a ready-to-send class using authentication on the mail server of your widely used domain around the world.

Phpmailer 6 was released at the end of August 2017, bringing numerous news and improvements over version 5.

The Phpmailer library can be downloaded from its official website Github - Phpmailer

Unzip and publish to an example server folder mailer.

php file, for example PHPMailerForm.php, publish in the same folder as the downloaded and unzipped files mailer.

Example - Structure:

It is not necessary to publish all the unzipped files and folders, just the ones indicated in the figure below

diretorio

PHP file

/******* CODIGO EMAIL *******/

//Essa condição você faz do jeito que achar melhor
if ((isset($_POST['$vemail']))&&(!empty($_POST['$vemail']))){

   //método POST
   $vnome= isset($_POST["nome"])?$_POST["nome"]:"[Não Informado]";
   $vemail= isset($_POST["email"])?$_POST["email"]:"[Não Informado]";
   $vsexo= isset($_POST["sexo"])?$_POST["sexo"]:"[Não Informado]";
   $vnasc= isset($_POST["tnasc"])?$_POST["tnasc"]:"[Não informado]";
   $vrua= isset($_POST["rua"])?$_POST["rua"]:"[Não Informado]";
   $vnum= isset($_POST["num"])?$_POST["num"]:"[Não Informado]";
   $vtest= isset($_POST["test"])?$_POST["test"]:"[Não Informado]";
   $vcity= isset($_POST["city"])?$_POST["city"]:"[Não Informado]";
   $vurg= isset($_POST["urg"])?$_POST["urg"]:"[Não Informado]";
   $vmsg= isset($_POST["msg"])?$_POST["msg"]:"[Não Informado]";
   $idade=date("Y")-$vnasc;

    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;

    // Inclui os arquivo localizados na pasta src
    require_once 'src/Exception.php';
    require_once 'src/PHPMailer.php';
    require_once 'src/SMTP.php';

    // Inicia a classe PHPMailer
    $mail = new PHPMailer(true); 

    try {
        // Configurações do servidor
        $mail->SMTPDebug = 0; 
        $mail->isSMTP();                                      
        $mail->Host = 'smtp.dominio.com';          // Endereço do servidor SMTP
        $mail->SMTPAuth = true;                   // autenticação SMTP
        $mail->Username = '[email protected]';     // Usuário do servidor SMTP
        $mail->Password = 'secreta';            // Senha da caixa postal utilizada
        $mail->SMTPSecure = 'tls';             // Ativar criptografia TLS, `ssl` também é aceita
        $mail->Port = 587;                    // TCP port to connect to

        // Define o remetente   
        $mail->setFrom($vemail, $vnome);    // email e nome do remetente


        // Define o(s) destinatário(s)
        $mail->addAddress('[email protected]', 'Nome destinatario');

        // Destinatários abaixo são opcionais 
        //$mail->addAddress('[email protected]');                    // outro destinatario
        //$mail->addReplyTo($vemail, $vnome);                        //aqui você coloca o endereço de quem está enviando a mensagem pela sua página
        //$mail->addCC('[email protected]');                          // Copia
        //$mail->addBCC('[email protected]');                        // Copia oculta

        //Anexos
        //$mail->addAttachment('/var/tmp/file.tar.gz');         // Adicionar um anexo
        //$mail->addAttachment('/tmp/image.jpg', 'new.jpg');   // Nome opcional

        //Content
        $mail->isHTML(true);                                 // true define que o e-mail será enviado como HTML, se false, desativa
        $mail->Subject = 'Digite a assunto aqui';           // Assunto da mensagem

        //Define o corpo do email
        $mail->Body = "Seus dados <br/> $vnome <br/> $vemail <br/> $vsexo <br/> $idade <br/> $vrua <br/> $vnum <br/> $vtest <br/> $vcity <br/> $vurg <br/> $vmsg <br/>";;

        $mail->send();
        echo 'Message has been sent';
    //caso apresente algum erro é apresentado abaixo com essa exceção.
    } catch (Exception $e) {
        echo 'Mensagem não pode ser enviada.';
        echo 'Erro do Mailer: ' . $mail->ErrorInfo;   //Mensagem de erro do PHPMailer
    }

}

HTML

Use the POST method that uses the URI (Uniform Resource Identifier) to send information to the server. The URI is not returnable to the customer, which makes the POST method more secure as it does not expose the data sent in the browser.

 <!-- para enviar para a mesma pagina -->
 <form action="" method="post">

 <!-- se o seu script estiver em outra pagina -->
 <form action="URL_DO_SCRIPT" method="post">
 ...................
 ...................
/******* FIM CODIGO EMAIL *******/

Browser other questions tagged

You are not signed in. Login or sign up in order to post.