Ir ao conteúdo
  • Cadastre-se
jackson felipe

HTML formulário não tem erro mas não registra na db

Recommended Posts

<div class="row">
                <div class="col-md-12">
                    <div class="contact_form">
                        <div id="message"></div>
                      
                        <form method="POST" action="contact_me.php">
							<div class="row">
								<div class="col-md-6">
									<div class="form-group">
										<input class="form-control" id="name" type="text" placeholder="Seu Nome" required="required" data-validation-required-message="Por Favor Digite seu Nove.">
										<p class="help-block text-danger"></p>
									</div>
									<div class="form-group">
										<input class="form-control" id="email" type="email" placeholder="Seu Email" required="required" data-validation-required-message="Por Favor digite seu endereço de email.">
										<p class="help-block text-danger"></p>
									</div>
									<div class="form-group">
										<input class="form-control" id="phone" type="tel" placeholder="Seu Telefone / Whatsapp" required="required" data-validation-required-message="Por Favor digite seu número de Telefone.">
										<p class="help-block text-danger"></p>
									</div>
								</div>
								<div class="col-md-6">
									<div class="form-group">
										<textarea class="form-control" id="message" placeholder="Deixe sua mensagem. " required="required" data-validation-required-message="Por Favor a message."></textarea>
										<p class="help-block text-danger"></p>
									</div>
								</div>
								<div class="clearfix"></div>
								<div class="col-lg-12 text-left">
									<div id="success"></div>
									<button id="sendMessageButton" class="hover-effect-new" data-text="Send Message" type="submit"><span>Enviar Mensagem</span></button>
								</div>
							</div>
						</form>
                    </div>
                </div><!-- end col -->
            </div><!-- end row -->
        </div><!-- end container -->
    </div><!-- end section -->
<?php

include_once("conexao.php");


	$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);
	$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
	$phone = filter_input(INPUT_POST, 'phone', FILTER_SANITIZE_STRING);
	$message = filter_input(INPUT_POST, 'message', FILTER_SANITIZE_STRING);

	//echo "name" $name <br>;
	//echo "email" $email <br>;

	$result_usuario = "INSERT INTO cadastro (name, email, phone, message) VALUES ('$name', '$email', '$phone', '$message', NOW())";
	$resultado_usuario = mysqli_query($conn, $result_usuario);


?>
<?php


	$host ="localhost";
	$usuario ="odarapix";
	$senha ="SENHA DA DB";
	$db ="BANCO DE DADOS DA DB";

//Criar conexao
$conn = mysqli_connect($host, $usuario, $senha, $db);

	
?>

A senha e o banco estão corretos alterei aqui apenas para não demonstrar.  O que está acontecendo resumidamente é o seguinte...  Eu preencho o formulario no site www.odarapixels.com/Odara-Pixels/index.html  e não demonstra erro algum e também não registra no banco os dados preenchidos no formulário.  E na home do site tem um campo de cadastro apenas no e-mail ele também não esta funcionando poderiam me ajudar nisso é a única coisa que está faltando para meu site ficar pronto.  o Link que esta mostrando é uma entrada informando que esta em manutenção o site www.odarapixels.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

@jackson felipe Você não colocou o atributo name=" "  nos campos do formulário... sem isso, jamais vai enviar os dados ao php.

 

 

Exemplo:

<input class="form-control" id="name" type="text" placeholder="Seu Nome" required="required" data-validation-required-message="Por Favor Digite seu Nove.">

Adicione:

 

name="name"

 

assim:

<input class="form-control" name="name" id="name" type="text" placeholder="Seu Nome" required="required" data-validation-required-message="Por Favor Digite seu Nove.">

Faça isso com todos seus campos input.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@DiF

 

Tenho que fazer isso para todos desta forma ou é para deixar apenas name em todos?




<form method="POST" action="contact_me.php">
                            <div class="row">
                                <div class="col-md-6">
                                    <div class="form-group">
                                        <input class="form-control" name="name" id="name" type="text" placeholder="Seu Nome" required="required" data-validation-required-message="Por Favor Digite seu Nove.">
                                        <p class="help-block text-danger"></p>
                                    </div>
                                    <div class="form-group">
                                        <input class="form-control" email="email" id="email" type="email" placeholder="Seu Email" required="required" data-validation-required-message="Por Favor digite seu endereço de email.">
                                        <p class="help-block text-danger"></p>
                                    </div>
                                    <div class="form-group">
                                        <input class="form-control" phone="phone" id="phone" type="tel" placeholder="Seu Telefone / Whatsapp" required="required" data-validation-required-message="Por Favor digite seu número de Telefone.">
                                        <p class="help-block text-danger"></p>
                                    </div>
                                </div>
                                <div class="col-md-6">
                                    <div class="form-group">
                                        <textarea class="form-control" message="message" id="message" placeholder="Deixe sua mensagem. " required="required" data-validation-required-message="Por Favor a message."></textarea>
                                        <p class="help-block text-danger"></p>
                                    </div>
                                </div>
                                <div class="clearfix"></div>
                                <div class="col-lg-12 text-left">
                                    <div id="success"></div>
                                    <button id="sendMessageButton" class="hover-effect-new" data-text="Send Message" type="submit"><span>Enviar Mensagem</span></button>

 

adicionado 3 minutos depois
 
Este formulario aqui é apenas da captura do e-mail que esta na home do site, tenho que fazer alguma alteração nele também?
 



<form class="form-inline" action="contact_me.php" method="post">
							<input value="" data-form-email="true" type="hidden">
							<div class="form-group">
								<input class="form-control input-sm input-inverse my-2" name="email" required="" data-form-field="Email" placeholder="Email" id="email" type="email">
							</div>
							<div class="input-group-btn">
								<button href="" class="btn hover-effect-new btn-primary" type="submit" role="button"><span> Receber Ofertas </span></button>
							</div>
						</form>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
18 minutos atrás, DiF disse:

Faça isso com todos seus campos input.

Obviamente com um name diferente para cada.

name="nome", name="senha", name="telefone"  etc...

 

No php você deve receber os dados com o valor exato dentro de cada name.

 

assim:

$_POST["nome"], $_POST["senha"] e por aí vai.

 

Estas linhas:

$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);
	$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
	$phone = filter_input(INPUT_POST, 'phone', FILTER_SANITIZE_STRING);
	$message = filter_input(INPUT_POST, 'message', FILTER_SANITIZE_STRING);

o name, email, phone e message precisam estar lá no formulário....

então coloque:  name="name", name="email", name="phone",  name="message"

 

O atributo "name" dentro do input é o que leva o valor do campo ao php. Se omitir isso, jamais transmitirá o valor ao php, que é a causa do seu problema.  No caso o seu arquivo contact_me.php não está recebendo dado algum do formulário.

adicionado 6 minutos depois

@jackson felipe Por gentileza, escreva as suas perguntas fora da tag de código e sem ser em letras maiúsculas.

Enfim, a resposta é a mesma....

 

Sim, você precisa que cada campo do seu formulário tenha o atributo "name". Como disse anteriormente, é este atributo que leva o dado ao php.

 

É obrigatório ter este campo para funcionar o envio de um dado, em qualquer formulário.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites


<?php

include_once("conexao.php");

     

$_POST["name"];
$_POST["phone"];
$_POST["email"];
$_POST["message"];

	$result_usuario = "INSERT INTO cadastro(name, email, phone, message) VALUES ('$name', '$email', '$phone', '$message'())";

	$resultado_usuario= mysqli_query($conn, $result_usuario);


?>

Tenho que fazer a alteração do contact_me.php com desta seguinte forma...

Compartilhar este post


Link para o post
Compartilhar em outros sites

@jackson felipe Você não atribuiu os nomes das variáveis que estás usando no values do insert os $_post

Além disso, tens ali um parentese a mais dentro do value.

 

Eu sugiro que você dê uma busca pelo google ou no youtube sobre php e formulários.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@jackson felipe Primeiramente gostaria de esclarecer que não damos códigos prontos.

É importante que você aprenda a fazer. Se você já desenvolveu aqueles códigos que postou, você já tem uma breve noção.

Nos posts acima, eu já expliquei que exatamente você precisa fazer, basta você querer aprender.

 

Por exemplo veja este vídeo e siga exatamente os passos.

 

 

Este video mostra o básico do cadastro, sem a validação de campos vazios e etc.  Ele simplesmente insere os dados na tabela no banco de dados.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×