Ir para conteúdo

POWERED BY:

Arquivado

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

renatolimade

Gravar dados no banco

Recommended Posts

Estou fazendo um chat, criei uma classe login para o usuário preencher seus dados quero que estes dados sejam salvo no banco, já criei a classe de conexão com o banco já teste e esta funcionando certinho, mas na hora de salvar o dados não esta salvando ele inserir o idcliente que auto incremento mas não salva os dados se alguém pode me ajudar vou colocar o código da classe e do banco.

 

login.php

 

<form action="chat.php" method="post">

 

<html>

<head>
<meta http-equiv="Content-Language" content="pt-br">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nova pagina 1</title>
</head>

<html>

<head>
<meta http-equiv="Content-Language" content="pt-br">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nova pagina 1</title>
</head>
<body topmargin="1" leftmargin="1" rightmargin="1" bottommargin="1" marginwidth="1" marginheight="1" style="background-attachment: fixed">

<table border="3" cellpadding="0" cellspacing="0" height="534" width="450" style="border-style: double; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px" bordercolor="#008000">
<!-- MSTableType="nolayout" -->
<tr>
<td valign="top" height="534" width="434">
<!-- MSCellType="ContentBody" -->
<table cellpadding="0" cellspacing="0" width="404" height="509">
<!-- MSTableType="layout" -->
<tr>
<td width="16"> </td>
<td valign="top" align="center" width="361">
<form method="POST" action="--WEBBOT-SELF--">
<p align="left">
<span style="color: rgb(0, 0, 0); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: bold; letter-spacing: normal; line-height: 16px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); display: inline !important; float: none;">
Para que possamos lhe prestar um bom atendimento, por favor
nos forneça algumas informações antes de começar o Chat.</span><br style="color: rgb(0, 0, 0); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: bold; letter-spacing: normal; line-height: 16px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);">
<span class="req" style="font-size: 10px; font-weight: bold; font-family: Verdana, Arial, Helvetica, sans-serif; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: 16px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255)">
<font color="#FF0000">Itens obrigatórios indicados com *</font>.</span></p>
</form>
<form action="chat.php" method="post">
<p align="left">Seu nome:</p>
<p align="left"><input type="text" name="fnome" size="32"></p>
<p align="left">E-mail:</p>
<form method="POST" enctype="multipart/form-data" action="--WEBBOT-SELF--">
<p align="left"><input type="text" name="femail" size="32"></p>
<p align="left">Empresa:</p>
<p align="left"><input type="text" name="fempresa" size="32"></p>
<p align="left">Cidade aonde se encontra:</p>
<p align="left"><input type="text" name="fcidade" size="33"></p>
<p align="left">

<input type="submit" name="enviar" value="Entrar no Chat">

</form>

<form method="POST" action="--WEBBOT-SELF--">

</form>
<?php


require("classes.php");
require("conecta.php");



$fnome=$_POST["fnome"];
$femail=$_POST["femail"];
$fempresa=$_POST["fempresa"];
$fcidade=$_POST["fcidade"];

$sql = "insert into tbcliente (fnome,femail,fempresa,fcidade) values ('$fnome','$femail','$fempresa','$fcidade')";
mysql_query($sql,$db_conexao);


?>
</p>
<p align="left"> </p>


<p> </td>
<td height="509" width="27"> </td>
</tr>
</table>
</td>
</tr>
</table>
</body>

</html>
</form>

 

Banco

tbcliente CREATE TABLE `tbcliente` (
`idcliente` int(11) NOT NULL AUTO_INCREMENT,
`fnome` varchar(200) DEFAULT NULL,
`femail` varchar(250) DEFAULT NULL,
`fempresa` varchar(250) DEFAULT NULL,
`fcidade` varchar(200) DEFAULT NULL,
PRIMARY KEY (`idcliente`)

 

Agradeço desde já.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma dica:

Se você quiser ver o erro que esta dando ma query, troque o mysql_query($sql,$db_conexao); por:

 

 mysql_query($sql,$db_conexao) or die(mysql_error());

Compartilhar este post


Link para o post
Compartilhar em outros sites

nesta linha:

 

$sql = "insert into tbcliente (fnome,femail,fempresa,fcidade) values ('$fnome','$femail','$fempresa','$fcidade')";
mysql_query($sql,$db_conexao);

 

Faça isso:

 

$sql = "insert into tbcliente (fnome,femail,fempresa,fcidade) values ('$fnome','$femail','$fempresa','$fcidade')";
if( ! mysql_query($sql,$db_conexao) )

die( mysql_error() );

 

 

Depois mostre-nos o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigos fiz o que vcs me sugeriram mas infelizmente não apareceu nenhum erro, mas na hora que eu vou no banco de dados para ver se salvou o valores que foram passado para as variáveis não tem nada...somente o idcliente que auto incremento que esta sendo criado. :upset:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depois do require('conecta.php'); coloque um var_dump($_POST), veja se esta retornando o POST.

 

Recomendo você a criar um formulário você mesmo ao invés de usar ferramentas que criam.

É particularmente fácil criar formulários.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai Raul blz.?

Eu coloquei ele ta retornando array(0) { }

Valeu pela a dica da criação do formulário é por que tem uns leiaute diferente que é a entrada de um chat empresarial .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para você ter uma ideia de como é ruim gerar formulários através de programas:

 

Existe um "<form action="chat.php" method="post">" no começo do arquivo, nem dentro da tag html esta.

Existe um "<form method="POST" action="--WEBBOT-SELF--">" para mostrar um texto.

Existe um "<form action="chat.php" method="post">" Logo após o outro formulário.

Existe um "<form method="POST" enctype="multipart/form-data" action="--WEBBOT-SELF--">" Dentro do formulário acima, fazendo com que o campo fnome fique fora dele.

Tem um formulário que não está fechado.

 

Recomendo você tirar todas as tags de formulário e deixar apenas a tag que vem antes de "<p align="left">Seu nome:</p>"

E deixar a tag de fechamento que vai depois de "<input type="submit" name="enviar" value="Entrar no Chat">"

 

Feito isso teste novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Raul fiz o que vc me falou. O codigo ficou assim:

 

<html>



<form action="chat.php" method="post">
<p align="left">Seu nome:</p>
<p align="left"><input type="text" name="fnome" size="32"> </p>
<p align="left">E-mail:</p>
<p align="left"><input type="text" name="femail" size="32"></p>
<p align="left">Empresa:</p>
<p align="left"><input type="text" name="fempresa" size="32"></p>
<p align="left">Cidade aonde se encontra:</p>
<p align="left"><input type="text" name="fcidade" size="33"></p>
<p align="left">

<input type="submit" name="enviar" value="Entrar no Chat">




</form>
<?php


require("classes.php");
require("conecta.php");
var_dump($_POST);



$fnome=$_POST["fnome"];
$femail=$_POST["femail"];
$fempresa=$_POST["fempresa"];
$fcidade=$_POST["fcidade"];

$sql = "insert into tbcliente (fnome,femail,fempresa,fcidade) values ('$fnome','$femail','$fempresa','$fcidade')";
mysql_query($sql,$db_conexao) or die(mysql_error());


?>



</html>

 

Mas ainda não funfo :upset:

Da uma olhadinha ai ver se é isso mesmo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, era só pra ter tirado as linhas, não o conteudo inteiro, mas blz rs

 

Assim que você entra na página ele já esta gravando dados (você não enviou nada então ele está gravando em branco).

Uma verificação básica pra saber se esta mesmo sendo enviado algo pode ser vc verificando se o nome não esta vazio.

 

if(empty($_POST["fnome"]){
   $fnome=$_POST["fnome"];
   $femail=$_POST["femail"];
   $fempresa=$_POST["fempresa"];
   $fcidade=$_POST["fcidade"];
     
   $sql = "insert into tbcliente (fnome,femail,fempresa,fcidade) values ('$fnome','$femail','$fempresa','$fcidade')";
   mysql_query($sql,$db_conexao) or die(mysql_error());       
}  

 

Você pode tirar já o var_dump(), é só pra ver o que esta vindo no POST =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

ops: if(!empty($_POST["fnome"]){ (ponto de exclamação antes do empty)

 

por favor, tente refazer esse formulario e tente estudar um pouco mais do php para que você consiga resolver.

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.