Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

felipe jardim

conexão da pagina do php pra mandar os dados do formulario para o BD

Recommended Posts

Olá felipe jardim,

 

Pelo que entendi você está querendo INSERIR os dados que você adicionou no formulário para serem ENVIADOS e GRAVADOS no banco de dados, certo?

 

Se for assim, você terá algumas etapas a cumprir:

  1. Fazer conexão com o servidor e banco de dados;
  2. Obter os nomes dos formulários com o $_POST;
  3. Criar um comando SQL no PHP e dentro desse comando adicionar o que você obteu dos formulários (no caso através da variável global $_POST);
  4. Executar o comando;

Para isso, vamos fazer da seguinte maneira.

 

  • No formulário, adicione um atributo dentro da tag input chamada name, e adicione um valor qualquer a ela.
  • Dentro do input submit (onde irá enviar as informações), faça com que ela envie para alguma outra página que seja .php.
  • Dentro da página PHP, você ira fazer, primeiramente, a conexão com o servidor e banco de dados.
// Fazer conexão com o servidor
// Adicione o <host>, no seu caso como o servidor é local, utilize: "localhost"
// Provavelmente o <user> deve ser "root", a menos que você tenha configurado.
// Provavelmente o <password> deve ser "", a menos qeu você também tenha configurado. ( '-' )
mysql_connect(<host>, <user>, <password>);
// Adicione o nome do banco com o qual irá fazer a conexão.
mysql_select_db(<db>);

// Adicione em todos os parâmetros (ex: <host>, <user>, entre outros citados), as aspas (""), porque se não acrescentar não irá funcionar.

Ainda dentro dessa página:

// Crie as variáveis para receber os dados do formulário, apenas para facilitar... exemplo:

$nome = $_POST['nome']; // Se você adicionou name="nome" no input do seu formulário, você adicionará dentro da variável global $_POST também.

// Crie uma variável qualquer, adicionei como $sql apenas para facilitar o entendimento
// Lembrando o seguinte:
// tablename = é o nome da tabela do campo
// fieldnome = é o campo da tabela
// $nome = é a variável que tem o valor armazenado do formulário
$sql = "INSERT INTO tablename('fieldnome') VALUES ('$nome')";

// Execute o comando SQL
$query = mysql_query($sql);

Verique se os dados foram cadastrados no banco. Caso não, poste o relatório do que aconteceu. ( '-' )

 

Tem mais etapas, mas melhor deixar por enquanto a etapa básica, só para realmente você ter uma ideia.

 

Espero ter ajudado. ( '-' )

Compartilhar este post


Link para o post
Compartilhar em outros sites
ola androidel vou te mostrar o que eu estava fazendo mas esta dando erro

ao clicar em enviar os dados no formulário ele vai para a pagina do validar.php e me mostra todo o código o wampserver esta ativo


segue o validador php


<?php

include("conexao.php");

$nome =$_POST["nome"];

$email =$_POST["email"];

$assunto =$_POST["assunto"];

$mensagem =$_POST["mensagem"];

$flag=0;



if($nome=="" ||is_numeric($nome)==true)//validar nome

{

echo "

<center>

<font size=7>

ERRO!! o campo nome não pode estar vazio <s>ou</s> foi digitado um número.

</font>

</center>

";

$flag=1;

}



if($email==""||is_numeric($email)==true||strstr($email,'@')==false)//validar email

{

echo "

<center>

<font size=7>

ERRO!! o campo email esta vazio <s>ou</s>o email contem caracteres invalido,<s>OU</s> está vazio.

</font>

</center>

";

$flag=1;

}


if(trim($assunto) == "")

{

echo "

<center>

<font size=7>

preencha o campo assunto.

</font>

</center>

";

$flag=1;

}


if(trim($mensagem) == "")

{

echo "

<center>

<font size=7>

preencha o campo mensagem.

</font>

</center>

";

$flag=1;

}



if($flag==0)//tudo estiver certo

{

echo"<font size=7color='green'>

Todos os Dados foram digitados corretamente.

</font>

";

$sql = mysql_query("INSERT INTO formulario(nome,email,assunto,mensagem)VALUES('$nome','$email','$assunto','$mensagem');");

if($sql)

{

echo"<font size=7color='green'>

Cadastro Efetuado com Sucesso.

</font>

";

}

else

{

echo"<font size=7color='red'>

FALHA NO CADASTRO".mysql_error()."

</font>

";

}


}

echo"<center>

<a href='fale conosco.html'>

<input type='button' value='voltar

</a>

</center>

";


?>



php conexao


<?php

$conexao = mysql_connect("localhost","root@localhost","")or

die("não foi possive conexão com o servidor. ");


echo"<center><font size=7color='green'>

Conexão Efetuado com Sucesso.

</font></center>

";

mysql_select_db("site",$conexao);


?>




ao clicar enviar no formulario html ele me da toda a pagina com o codigo do validador php

estou bem perdido



Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá felipe jardim,

 

ao clicar enviar no formulario html ele me da toda a pagina com o codigo do validador php
estou bem perdido


Como assim? Pode explicar melhor? Pode adicionar uma imagem do erro ou algo do tipo?

Uma observação que fiz no seu código. Em:

$sql = mysql_query("INSERT INTO formulario(nome,email,assunto,mensagem)VALUES('$nome','$email','$assunto','$mensagem');");

Recomendo deixá-lo da seguinte forma:

 

$sql = "INSERT INTO formulario(nome,email,assunto,mensagem)VALUES('$nome', '$email', '$assunto', '$mensagem')";
$query = mysql_query($sql);

Lembrando também que no seu código, apresentava ter um ";" dentro do comando SQL e também aspas duplas dentro dos parênteses, que na verdade deve ser fora destes, e antes do ponto e vírgula. :)

 

Às vezes, um pequeno erro causa um grande conflito. Preste atenção nisso. Idente seu código, e quando for postar aqui no tópico, utilize o code do BBCode. :D Compreende?

 

Espero ter ajudado. ( '-' )

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá ok vou arrumar o código conforme me passou

mas ao clicar em enviar no meu formulário ele ao invés de validar e me dar um retorno e gravar no banco ele simplesmente abre

o validar.php e me mostra o código

 

ex:

<?phpinclude("conexao.php");$nome =$_POST["nome"];$email =$_POST["email"];$assunto =$_POST["assunto"];$mensagem =$_POST["mensagem"];$flag=0;  if($nome=="" ||is_numeric($nome)==true)//validar nome{echo "<center><font size=7>ERRO!!  o campo nome não pode estar vazio <s>ou</s> foi digitado um número.</font></center>";$flag=1;}  if($email==""||is_numeric($email)==true||strstr($email,'@')==false)//validar email{echo "<center><font size=7>ERRO!! o campo email esta vazio <s>ou</s>o email contem caracteres invalido,<s>OU</s> está vazio.</font></center>";$flag=1;} if(trim($assunto) == ""){echo " <center><font size=7>    preencha o campo assunto.</font></center>";$flag=1;} if(trim($mensagem) == ""){echo " <center><font size=7>    preencha o campo mensagem.</font></center>";$flag=1;}  if($flag==0)//tudo estiver certo{echo"<font size=7color='green'>Todos os Dados foram digitados corretamente.</font>";$sql = mysql_query("INSERT INTO formulario(nome,email,assunto,mensagem)VALUES('$nome','$email','$assunto','$mensagem');");if($sql){echo"<font size=7color='green'>Cadastro Efetuado com Sucesso.</font>";}else{echo"<font size=7color='red'>FALHA NO CADASTRO".mysql_error()."</font>";} }echo"<center><a href='fale conosco.html'><input type='button' value='voltar</a></center>"; ?>

 

pergunta

pro php funcionar é preciso essas minhas paginas estarem dentro da pasta www do wampserver?

obrigado desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá felipe jardim,

 

Se devem estar dentro da pasta www do wampserver, creio que sim. Já tinha visto um amigo meu utilizando o wampserver, mas era na época. Eu recomendaria você utilizar o XAMPP (se você usa Windows, você utiliza esse programa), ele é atualizado, é o mais usado atualmente e é muito fácil de utilizar. Os arquivos dele seriam hospedados numa pasta chamada htdocs. Agora no próprio wamppserver deve ser mesmo em www. Mas para que funcione, você precisa ativar o wamppserver e adicionar o seguinte na barra de endereço URL do seu navegador:

localhost/

Já que você está utilizando em seu próprio computador claro (local), sem utilizar serviços externos.

 

E depois adiciona o nome da sua pasta ou do seu arquivo que queira executar, possa ser HTML, PHP, depende do que o wamppserver suportar.

 

CASO o wamppserver esteja conectado em uma porta que não seja a porta 80, você deve descobrir a porta deste e se dirigir assim na barra de endereço URL de seu navegador:

localhost:<porta>/

Exemplo:

localhost:81/

Compreende? :)

 

Espero ter ajudado. ( '-' )

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora deu realmente tem que por tudo dentro do wampserver

agora esta me dando o este erro acho que é na seleção do banco ou da tabela

 

Conexão Efetuado com Sucesso.

Todos os Dados foram digitados corretamente.

FALHA NO CADASTRONo database selected



saberia me dizer na conexao.php

como eu deveria criar corretamente

 

aonde colocar o nome do banco e aonde por o nome da tabela?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá felipe jardim,

 

O erro realmente está óbvio. O_O

 

"No database selected"

 

Você pode ter errado o código que faz comunicação com o banco. Verifique se a função mysql_select_db() está com o nome igual ao banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

as mensagens de conexão esta corretas agora so não consigo ver se salvo no banco de dados

 

Olá felipe jardim,

 

Como assim? Não consegue acessar o banco ou acessou e não está visualizado?

 

Adicione na barra de endereço URL de seu navegador:

 

localhost/phpmyadmin

 

Se ele pedir dados como usuário e senha, digite apenas root no campo usuário e não adicione senha, e clique em entrar. Se não for isso, poste alguma imagem do seu problema.

 

Espero ter ajudado. ( '-' )

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado androidel pela ajuda e atenção foi tudo muito útil e o melhor é praticar pra aprender!!! valeu

 

De nada felipe jardim. :D

 

Utilize o XAMPP, é mais atualizado. (.-. ) ( .-.) (.-.)

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, tenho outra duvida, a conexão esta dando certo mas me aparece sem nenhuma formatação ou cor essa nova pagina que ele direciona, gostaria de saber se eu consigo colocar esse validador que valida os campos digitados do formulário e chama a conexão pra conectar com o banco de dados em uma pagina em html com as configurações normais que eu tenha nas outras paginas

tipo aparecer no conteúdo da pagina que foi gravado e a conexão foi bem sucedida?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, tenho outra duvida, a conexão esta dando certo mas me aparece sem nenhuma formatação ou cor essa nova pagina que ele direciona, gostaria de saber se eu consigo colocar esse validador que valida os campos digitados do formulário e chama a conexão pra conectar com o banco de dados em uma pagina em html com as configurações normais que eu tenha nas outras paginas

tipo aparecer no conteúdo da pagina que foi gravado e a conexão foi bem sucedida?

 

Bem, no formulário, você coloca o mesmo nome da sua página + o tipo de arquivo (ex: teste.php). No input type="submit" do seu formulário adicione um atributo name com o valor submit. Exemplo:

<input type="submit" name="submit" value="Logar">

No início da página, ou dentro do head ou body se preferir, adicione o seguinte comando:

 

if (isset($_POST['submit'])) {
    // Aqui será executado o código
    // Aleta para depois que o código for executado
    echo "<script>alert('Usuário cadastrado com sucesso!');</script>";
}

Compreende? :)

 

Espero ter ajudado. ( '-' )

Compartilhar este post


Link para o post
Compartilhar em outros sites

não estou conseguindo enviar a imagem aqui pra vcs ver como ficou,

bom meu codigo ficou assim

na parte do meu conteúdo centro da minha pagina

 

<div id="conteudo">
<form name="formulario" action="validador.php" method="post">
<p><b>Nome:</b><br>
<input type=text name="nome" size="45"></p><br>
<p><b>Email:</b><br>
<input type=text name="email" size="45"></p><br>
<p><b>Assunto:</b><br>
<input type=text name="assunto" size="45"></p><br>
<p><b>Mensagem:</b><br>
<textarea name="mensagem" rows="10" cols="60" wrap="virtual"></textarea></p>
<p><input type="submit" value="Enviar Email"> <input type="reset" value="Limpar Formulário"></p>
</form>
</div>
certo esta tudo certo mas na hora que ele chama o validar que tem a mensagem aonde esta o erro ou algum campo em branco
ele me mostra o formulariomensagem.html que chamei dentro do validar.php
so que um em baixo do outro
a mensagem do validar.php
que é a conexao foi bem sucedida etc
esta aparecendo bem em baixo piro fora da pagina que criei
gostaria de colocar ela do meio tipo no conteudo no centro
como proceder?

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

não estou conseguindo enviar a imagem aqui pra vcs ver como ficou,

bom meu codigo ficou assim

na parte do meu conteúdo centro da minha pagina

 

<div id="conteudo">
<form name="formulario" action="validador.php" method="post">
<p><b>Nome:</b><br>
<input type=text name="nome" size="45"></p><br>
<p><b>Email:</b><br>
<input type=text name="email" size="45"></p><br>
<p><b>Assunto:</b><br>
<input type=text name="assunto" size="45"></p><br>
<p><b>Mensagem:</b><br>
<textarea name="mensagem" rows="10" cols="60" wrap="virtual"></textarea></p>
<p><input type="submit" value="Enviar Email"> <input type="reset" value="Limpar Formulário"></p>
</form>
</div>
certo esta tudo certo mas na hora que ele chama o validar que tem a mensagem aonde esta o erro ou algum campo em branco
ele me mostra o formulariomensagem.html que chamei dentro do validar.php
so que um em baixo do outro
a mensagem do validar.php
que é a conexao foi bem sucedida etc
esta aparecendo bem em baixo piro fora da pagina que criei
gostaria de colocar ela do meio tipo no conteudo no centro
como proceder?

 

Ola felipe jardim,

 

Não entendi sua questão. Mas antes eu tinha entendido para fazer com que ao clicar no botão submit os dados possam ser carregados nela mesma. Entende? Mas agora, não entendi seu caso. :/

 

E, referente aquele código que eu lhe disse, esqueci de dizer algo...

 

No action, adicione o mesmo nome da sua página PHP:

 

<div id="conteudo">
<!-- Troque o valor do action pelo mesmo nome da sua página + o tipo de arquivo.
Exemplo: Minha página se chama exemplo.php, irei adicionar ao action o valor: "exemplo.php".
-->
<form name="formulario" action="exemplo.php" method="post">
<p><b>Nome:</b><br>
<input type=text name="nome" size="45"></p><br>
<p><b>Email:</b><br>
<input type=text name="email" size="45"></p><br>
<p><b>Assunto:</b><br>
<input type=text name="assunto" size="45"></p><br>
<p><b>Mensagem:</b><br>
<textarea name="mensagem" rows="10" cols="60" wrap="virtual"></textarea></p>
<p><input type="submit" value="Enviar Email"> <input type="reset" value="Limpar Formulário"></p>
</form>
</div>

Depois de feito isso, você adicionará o código que citei em um dos meus posts anteriores. Entende?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.