Form data is not entered in the database

0

Galera helps me. Next: I have here an html form which I send the form data to an email through the action. However, before sending it to the email I want the same data to be inserted into the database. For that, I created a php that sends the data to the database and I have another php that sends the data to the email (in the html form I use the email php and not the bank.Is that right?) .

<form action="contatoTeste.php" method="POST" role="form" name="contatoForm" id="contatoForm">
                            <div class="controls">
                                <div class="row">
                                    <div class="col-md-6">
                                      <div class="form-group">
                                            <div class="input-group"> 
                                                <span class="input-group-addon"><i class="fa fa-user" aria-hidden="true"></i></span> 
                                                <input class="form-control" type="text" id="nome" name="nome" required placeholder="Nome">
                                                 <span class="erro"><p id="nome_erro"></p></span>
                                                <div class="help-block with-errors"></div>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="col-md-6">
                                      <div class="form-group">
                                            <div class="input-group"> 
                                                <span class="input-group-addon"><i class="fa fa-user" aria-hidden="true"></i></span> 
                                                <input class="form-control" type="text" id="sobrenome" name="sobrenome" required placeholder="Sobrenome">
                                                 <span class="erro"><p id="sobrenome_erro"></p></span>
                                                <div class="help-block with-errors"></div>
                                            </div>
                                        </div>
                                    </div>
                                    </div>

                                    <div class="row">
                                        <div class="col-md-6">
                                          <div class="form-group">
                                                <div class="input-group"> 
                                                    <span class="input-group-addon"><i class="fa fa-envelope" aria-hidden="true"></i></span> 
                                                    <input class="form-control" type="text" name="email" id="email" required placeholder="Email">
                                                     <div class="help-block with-errors"></div>
                                                      <span class="erro"><p id="email_erro"></p></span>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-md-6">
                                          <div class="form-group">
                                                <div class="input-group">
                                                    <span class="input-group-addon"><i class="fa fa-phone" aria-hidden="true"></i></span>
                                                    <input class="form-control" type="text" name="telefone" id="telefone" required placeholder="Telefone">
                                                    <span class="erro"><p id="telefone_erro"></p></span>
                                                    <div class="help-block with-errors"></div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>

                                <div class="row">
                                    <div class="col-md-4">
                                        <input class="form-control" type="text" name="assunto" placeholder="Assunto">
                                    </div>
                                </div>
                                <br>
                                <div class="row">
                                    <div class="col-sm-12">
                                        <textarea name="mensagem" placeholder="Digite sua mensagem aqui..." class="form-control" rows="9"></textarea>
                                    </div>
                                </div>
                           </form>

Now the database php:

if ((isset($_POST['email']))&&(!empty($_POST['email']))){

//verifica se existe conexão com bd, caso não tenta criar uma nova
$conexao = mysql_connect("localhost","aquivaimeuusuario","aqui a senha") //porta, usuário, senha
or die("Erro na conexão com banco de dados"); //caso não consiga conectar mostra a mensagem de erro mostrada na conexão

$select_db = mysql_select_db("aqui vai o nome do meu banco"); //seleciona o banco de dados

//Abaixo atribuímos os valores provenientes do formulário pelo método POST
$nome = $_POST["nome"]; 
$sobrenome = $_POST["sobrenome"];
$telefone = $_POST["telefone"];
$email = $_POST["email"];
$assunto = $_POST["assunto"];
$mensagem = $_POST["mensagem"];

$string_sql = "INSERT INTO contatoCadastro (Nome, Sobrenome, Email, Telefone, Assunto, Mensagem) VALUES ('{$nome}','{$sobrenome}','{$email}', '{$telefone}', '{$assunto}', '{$mensagem}')"; //String com consulta SQL da inserção

mysql_query($string_sql,$conexao); //Realiza a consulta

if(mysql_affected_rows() == 1){ //verifica se foi afetada alguma linha, nesse caso inserida alguma linha
    echo "<p>Cadastro feito com sucesso</p>";
    echo '<a href="contact.html">Voltar para formulário de cadastro</a>'; //Apenas um link para retornar para o formulário de cadastro
} else {
    echo "Erro, não possível inserir no banco de dados";
}

mysql_close($conexao); //fecha conexão com banco de dados 

} else{
    echo "Por favor, preencha os dados";
}

My question is: How do I get the data to go to the bank? In my HTML form do I have to call this php file I posted here or the other php file that sends the contact data to the email? If yes, how do I send the data to the database and then send it to the email?

Thank you very much for the help, I am a beginner in php and I do not know how to do these relationships correctly. Thank you in advance.

    
asked by anonymous 23.10.2017 / 23:14

2 answers

0

Form

The form, as it has no errors, remains the same.

<form action="contatoTeste.php" method="POST" role="form" name="contatoForm" id="contatoForm">
..................
..................

PHP

You can only use one file to perform both operations, send email and register to the bank.

contactTest.php (name given in form action)

if ((isset($_POST['email']))&&(!empty($_POST['email']))){

//verifica se existe conexão com bd, caso não tenta criar uma nova
$conexao = mysql_connect("localhost","aquivaimeuusuario","aqui a senha") //porta, usuário, senha
or die("Erro na conexão com banco de dados"); //caso não consiga conectar mostra a mensagem de erro mostrada na conexão

$select_db = mysql_select_db("aqui vai o nome do meu banco"); //seleciona o banco de dados

//Abaixo atribuímos os valores provenientes do formulário pelo método POST
$nome = $_POST["nome"]; 
$sobrenome = $_POST["sobrenome"];
$telefone = $_POST["telefone"];
$email = $_POST["email"];
$assunto = $_POST["assunto"];
$mensagem = $_POST["mensagem"];

$string_sql = "INSERT INTO contatoCadastro (Nome, Sobrenome, Email, Telefone, Assunto, Mensagem) VALUES ('{$nome}','{$sobrenome}','{$email}', '{$telefone}', '{$assunto}', '{$mensagem}')"; //String com consulta SQL da inserção

mysql_query($string_sql,$conexao); //Realiza a consulta

if(mysql_affected_rows() == 1){ //verifica se foi afetada alguma linha, nesse caso inserida alguma linha
    echo "<p>Cadastro feito com sucesso</p>";
    echo '<a href="contact.html">Voltar para formulário de cadastro</a>'; //Apenas um link para retornar para o formulário de cadastro
} else {
    echo "Erro, não possível inserir no banco de dados";
}

mysql_close($conexao); //fecha conexão com banco de dados 


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

// Uma dica para envio de emails
// Baixe os arquivos  PHPMailerAutoload.php  -  class.smtp.php  -  class.phpmailer.php em github - https://github.com/PHPMailer/PHPMailer
//Crie uma pasta  PHPMailer-master no mesmo diretório da sua aplicação PHP e publique os arquivos baixados nesta pasta (PHPMailer-master).

require_once('PHPMailer-master/PHPMailerAutoload.php');

$mail = new PHPMailer();

$mail->IsSMTP(); // Define que a mensagem será SMTP
$mail->Host = "smtp.kithomepage.com"; // Endereço do servidor SMTP
$mail->SMTPAuth = true; // Autenticação
$mail->Username = '[email protected]'; // Usuário do servidor SMTP
$mail->Password = 'SENHA'; // Senha da caixa postal utilizada

// Define o remetente
$mail->From = $email; 
$mail->FromName = $nome. " " .$sobrenome ;

// Define o(s) destinatário(s) 
$mail->AddAddress('[email protected]', 'Fulano');
//$mail->AddAddress('[email protected]', 'Nome do Destinatário');
//$mail->AddCC('[email protected]', 'Nome do Destinatário'); // Copia
//$mail->AddBCC('[email protected]', 'Nome do Destinatário'); // Cópia Oculta


$mail->IsHTML(true); // Define que o e-mail será enviado como HTML
$mail->CharSet = 'iso-8859-1'; // Charset da mensagem (opcional)

$mail->Subject  = $assunto; // Assunto da mensagem

$mail->Body = $mensagem;

$enviado = $mail->Send();

$mail->ClearAllRecipients();
$mail->ClearAttachments();

if ($enviado) {
echo "E-mail enviado com sucesso!";
} else {
echo "Não foi possível enviar o e-mail.";

echo "Informações do erro: 
" . $mail->ErrorInfo;
}


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

} else{
    echo "Por favor, preencha os dados";
}
  

As is widely known, the mysql_connect () function has become obsolete in PHP 5.5.0 and the mysql_ * functions have been removed in PHP7! Learn more with

With MySQLi the connection can be made as follows:

if ((isset($_POST['email']))&&(!empty($_POST['email']))){
    $servername = "localhost";
    $username = "USUARIO";
    $password = "SENHA";
    $dbname = "NOMEdoBANCO";

    $conexao = new mysqli($servername, $username, $password, $dbname);

    if (!$conexao) {
        die("Não foi possível conectar ao banco de dados" . mysqli_connect_error());
    }

    $string_sql = "INSERT INTO contatoCadastro (Nome, Sobrenome, Email, Telefone, Assunto, Mensagem) VALUES ('{$nome}','{$sobrenome}','{$email}', '{$telefone}', '{$assunto}', '{$mensagem}')";

    $result = mysqli_query($conexao,$string_sql);

    if(mysqli_affected_rows($conexao) >0){ //verifica se foi afetada alguma linha, nesse caso inserida alguma linha
      echo "<p>Cadastro feito com sucesso</p>";
      echo '<a href="contact.html">Voltar para formulário de cadastro</a>'; 
      //Apenas um link para retornar para o formulário de cadastro
    } else {
      echo "Erro, não possível inserir no banco de dados";
    }

    mysqli_close($conexao); //fecha conexão com banco de dados

    /******* CODIGO EMAIL *******/
    .............................
    .............................
    
24.10.2017 / 00:59
0

I made some modifications to the file in your php code, try something like this I hope I have helped.

contact.html

<form action="contatoTeste.php" method="POST" role="form" name="contatoForm" id="contatoForm">
                            <div class="controls">
                                <div class="row">
                                    <div class="col-md-6">
                                      <div class="form-group">
                                            <div class="input-group"> 
                                                <span class="input-group-addon"><i class="fa fa-user" aria-hidden="true"></i></span> 
                                                <input class="form-control" type="text" id="nome" name="nome" required placeholder="Nome">
                                                 <span class="erro"><p id="nome_erro"></p></span>
                                                <div class="help-block with-errors"></div>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="col-md-6">
                                      <div class="form-group">
                                            <div class="input-group"> 
                                                <span class="input-group-addon"><i class="fa fa-user" aria-hidden="true"></i></span> 
                                                <input class="form-control" type="text" id="sobrenome" name="sobrenome" required placeholder="Sobrenome">
                                                 <span class="erro"><p id="sobrenome_erro"></p></span>
                                                <div class="help-block with-errors"></div>
                                            </div>
                                        </div>
                                    </div>
                                    </div>

                                    <div class="row">
                                        <div class="col-md-6">
                                          <div class="form-group">
                                                <div class="input-group"> 
                                                    <span class="input-group-addon"><i class="fa fa-envelope" aria-hidden="true"></i></span> 
                                                    <input class="form-control" type="text" name="email" id="email" required placeholder="Email">
                                                     <div class="help-block with-errors"></div>
                                                      <span class="erro"><p id="email_erro"></p></span>
                                                </div>
                                            </div>
                                        </div>
                                        <div class="col-md-6">
                                          <div class="form-group">
                                                <div class="input-group">
                                                    <span class="input-group-addon"><i class="fa fa-phone" aria-hidden="true"></i></span>
                                                    <input class="form-control" type="text" name="telefone" id="telefone" required placeholder="Telefone">
                                                    <span class="erro"><p id="telefone_erro"></p></span>
                                                    <div class="help-block with-errors"></div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>

                                <div class="row">
                                    <div class="col-md-4">
                                        <input class="form-control" type="text" name="assunto" placeholder="Assunto">
                                    </div>
                                </div>
                                <br>
                                <div class="row">
                                    <div class="col-sm-12">
                                        <textarea name="mensagem" placeholder="Digite sua mensagem aqui..." class="form-control" rows="9"></textarea>
                                    </div>
                                </div>


                                <button type="submit">Enviar</button>
                           </form>

ContactTest.php

<?php 


$servidor = 'localhost';
$usuario = 'root';
$senha = '';
$banco = 'test';


if ((isset($_POST['email']))&&(!empty($_POST['email']))){

//verifica se existe conexão com bd, caso não tenta criar uma nova
$conexao = new mysqli("$servidor","$usuario","$senha","$banco"); //servidor, usuário, senha, banco
if (mysqli_connect_errno()) {
    printf("Falha na conexão: %s\n", mysqli_connect_error());
    exit();
}
 //caso não consiga conectar mostra a mensagem de erro mostrada na conexão


//Abaixo atribuímos os valores provenientes do formulário pelo método POST
$nome = $_POST["nome"]; 
$sobrenome = $_POST["sobrenome"];
$telefone = $_POST["telefone"];
$email = $_POST["email"];
$assunto = $_POST["assunto"];
$mensagem = $_POST["mensagem"];

$string_sql = "INSERT INTO contatoCadastro (Nome, Sobrenome, Email, Telefone, Assunto, Mensagem) VALUES ('{$nome}','{$sobrenome}','{$email}', '{$telefone}', '{$assunto}', '{$mensagem}')"; //String com consulta SQL da inserção

$query = $conexao->query($string_sql); //Realiza a consulta

if(mysqli_affected_rows($conexao) >= 1){ //verifica se foi afetada alguma linha, nesse caso inserida alguma linha
    echo "<p>Cadastro feito com sucesso</p>";
    echo '<a href="contact.html">Voltar para formulário de cadastro</a>'; //Apenas um link para retornar para o formulário de cadastro
} else {
    echo "Erro, não possível inserir no banco de dados";
}

mysqli_close($conexao); //fecha conexão com banco de dados
}
    
24.10.2017 / 00:10