Ir para conteúdo

POWERED BY:

Arquivado

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

aboutrodrigo_

[Resolvido] Enviar formulário de cadastro no banco de dados

Recommended Posts

Comecei a estudar PHP agora, não sei absolutamente nada. Estou tentando criar um formulário que insira informações no banco de dados quando enviado. Para isso estou usando duas páginas, a que contém o formulário e a que é chamada quando é clicado em enviar, na outra página é que contem as funções PHP.

 

Tá assim:

 

<form method="POST" action="chamada.php">
<p>Nome</p>
<input type="text" name="usuario" size="35px" maxlength="80">
<p>Email</p>
<input type="text" name="endereco" size="35" maxlength="80">
<p>Mensagem</p>
<textarea name="comentario" cols="32" rows="5"></textarea>
<p>
<input class="submit" type="submit" value="Enviar" name="BTEnvia">
</p>
</form>

 

Na página "chamada.php" tá assim:

 

<?php

// Mensagens de Erro
$msg[0] = "Conexão com o banco de dados falhou!";
$msg[1] = "Não foi possível selecionar o banco de dados!";

// Fazendo conexão com o servidor MySQL
$conexao = mysql_pconnect("localhost","root","") or die($msg[0]);

// Selecionando o banco de dados
mysql_select_db("teste", $conexao) or die($msg[1]);

// Inserindo dados
$query = "INSERT INTO infos VALUES('0', '&usuario', '&endereco', '&comentario', NOW());";
$resultado = mysql_query($query,$conexao); {
?>	
<?php
}
?>

 

Obs.: Quando clico em enviar é adicionado uma nova linha na tabela, mas com os valores vazios. O que quero é saber o que coloco no lugar de "$usuario" e etc para ser adicionado na tabela com os valores digitados no formulário. Desde já, obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes do seu insert .

 

$usuario =$_POST["usuario"];

$endereco =$_POST["endereco"];

 

$comentario =$_POST["comentario"];

 

da forma que faz esta tentando trabalhar com

register_globals = on .

 

e graças a deus isso vem desabilitado.

mas tem algo que esta me deixando curioso.

 

passando variável por referência para quem?

 

$query = "INSERT INTO infos VALUES('0', '&usuario', '&endereco', '&comentario', NOW());";

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes do seu insert .

 

$usuario =$_POST["usuario"];

$endereco =$_POST["endereco"];

 

$comentario =$_POST["comentario"];

 

da forma que faz esta tentando trabalhar com

register_globals = on .

 

e graças a deus isso vem desabilitado.

mas tem algo que esta me deixando curioso.

 

passando variável por referência para quem?

 

$query = "INSERT INTO infos VALUES('0', '&usuario', '&endereco', '&comentario', NOW());";

 

Como falei, sou leigo no assunto. Eu consegui fazer com que fosse mostrado os dados salvos no banco de dados em uma tabela HTML. Então tive a idéia de ao invés de apenas selecionar (mostrar) o conteúdo do banco de dados, fazer com que fossem inseridos. Daí veio o:

$query = "INSERT INTO infos VALUES('0', '&usuario', '&endereco', '&comentario', NOW());";
$resultado = mysql_query($query,$conexao); {
?>      
<?php
}
?>

Se não me engano, não tem nada "chamando" o $resultado, seria esse o problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente assim depois posta o que retornar

quanto ser novato passa por aqui vai te ajudar muito

 

http://forum.imasters.com.br/forum/159-curso-de-php/

 

<?php

// Mensagens de Erro
$msg[0] = "Conexão com o banco de dados falhou!";
$msg[1] = "Não foi possível selecionar o banco de dados!";

// Fazendo conexão com o servidor MySQL
$conexao = mysql_pconnect("localhost","root","") or die($msg[0]);

// Selecionando o banco de dados
mysql_select_db("teste", $conexao) or die($msg[1]);

// Inserindo dados
$query = "INSERT INTO infos VALUES('0', '&usuario', '&endereco', '&comentario', NOW());";
$resultado = mysql_query($query,$conexao)or die("erro ao inserir no banco".mysql_error());

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, obrigado pelo link.

Fiz o que você disse e não apareceu nada, ficou a tela em branco e foi adicionado mais uma linha no banco de dados. Mas ao invés de ter os valores digitados no formulário fica $usuario, $endereco e $comentario.

 

ID      Nome                    Email                              Data                      Mensagem
00001   Rodrigo Oliveira	rodrigo.oliveira16@msn.com	   2011-07-16 20:29:09	     TEXTO 
00002	Joao	                joao.lima@hotmail.com	           2011-07-16 22:00:45	     TESTE
00003	&usuario		$endereco                          2011-07-17 12:00:59	     &comentario

 

Obs.: Os dois primeiros foram colocados manualmente pelo prompt de comando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

$usuario = $_POST["usuario"];
$endereco = $_POST["endereco"];
$comentario = $_POST["comentario"];

$query = "INSERT INTO infos VALUES('0', '$usuario', '$endereco', '$comentario', NOW());";

 

o correto para variaveis é $ não &

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.