Ir para conteúdo
Fórum Script Brasil
  • 0

Formulário Vazio


Guest Josias

Pergunta

Olá,

Estou tentando fazer um formulário que envie os dados para meu banco de dados.

Ele conecta o banco de dados e até diz que os dados foram postados com sucesso. Porém na hora de ver todos os campos aparecem vazios, como se não tivesse sido preenchido nada. Ele até chega a criar um novo registro. O que pode ser? Eis abaixo o código da página de formulário e o da página de validação.

cadastra.htm

<html>

<head>

<title>Cadastrar</title>

</head>

<body>

<font face="tahoma" size=+2>Notícias<font>

<form name="cadastro" method="POST" action="inserir.php">

<table border=0>

<tr>

<td>Nome:

<td><input type="text" name="text_nome" size="30" maxlenght="30" value="">

</tr>

<tr>

<td>Sobrenome:

<td><input type="text" name="text_sobrenome" size="30" maxlenght="30" value="">

</tr>

<tr>

<td>E-mail:

<td><input type="text" name="text_email" size="30" maxlenght="30" value="">

</tr>

<tr>

<td>Data:

<td><input type="text" name="text_data" size="30" maxlenght="30" value="">

</tr>

<tr>

<td>Título da Notícia:

<td><input type="text" name="text_titulo" size="30" maxlenght="30" value="">

</tr>

<tr>

<td>Notícia:

<td><input type="textarea" name="text_noticia" rows="10" cols="30" value="">

</tr>

</table>

<input type="submit" name="enviar" value="Enviar">

<input type="reset" name="limpar" value="Limpar">

</form>

<br>

</body>

</head>

</html>

inserir.php

<html>

<head>

<TITLE>Inserir cadastro</TITLE>

<body>

<?php

$conectar = mysql_connect("localhost","jmessias_escola","2006");

if ($conectar)

{

$banco = mysql_select_db("jmessias_escola",$conectar) ;

if ($banco)

{

$nome=$POST['txt_nome'];

$sobrenome=$POST['txt_sobrenome'];

$email=$POST['txt_email'];

$data=$POST['txt_data'];

$titulo=$POST['txt_titulo'];

$noticia=$POST['txt_noticia'];

if ($banco)

{

$inserir = "insert into tb_noticias values ('id','$nome','$sobrenome','$email','$data','$titulo','$noticia')";

$resultado = mysql_query($inserir, $conectar);

if ($resultado)

{

echo "Notícia postada com sucesso!";

echo "<br>";

echo "<a href=noticias.php>Ler</a>";

}

else

{

echo "Erro na inclusão!";

}

}

}

}

?>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

23 respostass a esta questão

Posts Recomendados

  • 0

Testa ai, troca isso aqui:

$inserir = "insert into tb_notici<span style='color:orange'><span style='color:green'>as values ('id','$nome','$sobrenome','$email','$data','$titulo','$noticia')";
$resultado = mysql_query($inserir, $conectar);
Por isso:
$inserir = mysql_query  ("INSERT INTO tb_noticias (txt_nome, txt_sobrenome, txt_email, txt_data, txt_titulo, txt_noticia) VALUES ('$nome','$sobrenome','$email','$data','$titulo','$noticia')") or die (mysql_error());
if($inserir){echo"o cadastro foi feito com sucesso";
}else{
echo"o cadastro não pode ser efetuado";
Troque isso aqui também:
$nome=$POST['txt_nome'];
$sobrenome=$POST['txt_sobrenome'];
$email=$POST['txt_email'];
$data=$POST['txt_data'];
$titulo=$POST['txt_titulo'];
$noticia=$POST['txt_noticia'];
Por isso:
$nome = $_POST['txt_nome'];
$sobrenome = $_POST['txt_sobrenome'];
$email = $_POST['txt_email'];
$data = $_POST['txt_data'];
$titulo = $_POST['txt_titulo'];
$noticia = $_POST['txt_noticia'];

Me fala uma coisa essa parte da $data, vai exibir a data??

Qualquer coisa é só falar testa ai ;)

Link para o comentário
Compartilhar em outros sites

  • 0

Bom não testei aqui mais vê se vai dar certo ai:

cadastra.htm:

<html>
<head>
<title>Cadastrar</title>
</head>
<body>
<font face="tahoma" size=+2>Notícias<font>
<form name="form1" method="POST" action="inserir.php">
<table border=0>
<tr>
<td>Nome:
<td><input type="text" name="nome" size="30" maxlenght="30" id="nome">
</tr>
<tr>
<td>Sobrenome:
<td><input type="text" name="sobrenome" size="30" maxlenght="30" id="sobrenome">
</tr>
<tr>
<td>E-mail:
<td><input type="text" name="email" size="30" maxlenght="30" id="email">
</tr>
<tr>
<td>Data:
<td><input type="text" name="data" size="30" maxlenght="30" id="data">
</tr>
<tr>
<td>Título da Notícia:
<td><input type="text" name="titulo" size="30" maxlenght="30" id="titulo">
</tr>
<tr>
<td>Notícia:
<td><input type="textarea" name="noticia" rows="10" cols="30" id="noticia">
</tr>
</table>
<input type="submit" name="enviar" value="Enviar">
<input type="reset" name="limpar" value="Limpar">
</form>
<br>

</body>
</head>
</html>
inserir.php:
<?php
include "config.php"; //conectar com BD

$nome = $_POST['nome'];
$sobrenome = $_POST['sobrenome'];
$email = $_POST['email'];
$data = $_POST['data'];
$titulo = $_POST['titulo'];
$noticia = $_POST['noticia'];

$sql = mysql_query("INSERT INTO tb_noticias (nome,sobrenome,email,data,titulo,noticia) VALUES ('$nome','$sobrenome','$email','$data','$titulo','$noticia')") or die (mysql_error());
if($sql){echo"o cadastro foi feito com sucesso";
}else{
echo"o cadastro não pode ser efetuado";
}
?>
config.php:
<?

$host = "localhost"; // sempre deixe local host nunka mude
$user = "root"; // seu usuario do db
$pass = "senha_db";// sua senha do sb
$db = "tabela"; //o nome do sue banco de dados
$conexao = @mysql_connect($host, $user, $pass) or die(mysql_error());

@mysql_select_db($db, $conexao) or die("erro ao se conectar com o db");
?>

Agora testa ai :unsure:

Link para o comentário
Compartilhar em outros sites

  • 0

Ótimo,

Agora postou.

Em relação à data, se eu envio em formado DD/MM/AAAA, ele posta como 00/00/0000, e não a data que eu coloquei.

Só dá certo se eu colocar a data no formato AAAA-MM-DD. Como resolver?

Link para o comentário
Compartilhar em outros sites

  • 0

Apague isso aqui do seu cadastrar.htm

<td>Data:
<td><input type="text" name="data" size="30" maxlenght="30" id="data">
</tr>
Agora não precisa ficar preocupado, porque quando você for inserir a noticia já vai aparecer a data certa quando você postou a noticia, vejamos um exemplo: - Troca isso aqui:
$data = $_POST['data'];
Por isso:
$data = date("d/m/Y \à\s H:i:s");
Agora quando você for criar a pagina para exibir as noticias você faz assim, exibir.php
<?
include"config.php"; 

$y = mysql_query("SELECT * FROM tb_noticia");
while($x = mysql_fetch_array($y)){ 
echo'
<table width="0%" border="0" cellspacing="1" bgcolor="#000000">
/* AQUI você CRIA AS TABELAS PARA PODER EXIBIR AS INFORMAÇÕES ISSO AQUI É SÓ UM EXEMPLO */
<strong><font color="#009900" size="1" face="verdana">'.$x['nome'].'</font></strong>
<strong><font color="#009900" size="1" face="verdana">'.$x['data'].'</font></strong>
/* ISSO AQUI É UM EXEMPLO, NESSAS PARTES AQUI '.$x['nome'].' é onde será EXIBIDO O CONTEUDO QUE você INSERIU NO BD, AGORA É SÓ AGEITAR DE SUA MANEIRA OK? */
</table>
<br> /* POR EXEMPLO NO FINAL DA TABELA INSERE ESSAS LINHAS AQUI EM BAIXO */

';
}// imprimi os resultados da tabela cadastro na tela
?>

Deu pra entender essa parte aqui???

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe, não especifiquei direito.

Na verdade eu quero que a pessoa coloque a data, pois neste banco de notícias serão colocadas notícias atrasadas.

Por exemplo, o visitante entra hoje para colocar algo que aconteceu na semana passada, e tem que colocar a data do acontecimento, e não a da postagem. É como se fosse colocar a data de nascimento.

Link para o comentário
Compartilhar em outros sites

  • 0

Ahhh entaum tenta assim... no sua pagina cadastrar.htm salva como cadastrar.php

Tenta dessa maneira aqui:

<? include "config.php";
$data = date("Y-m-d");
?>
<html>
<head>
<title>Cadastrar</title>
</head>
<body>
<font face="tahoma" size=+2>Notícias</font>
<form name="form1" method="POST" action="inserir.php">
<table border=0>
<tr>
<td>Nome:
<td><input type="text" name="nome" size="30" maxlenght="30" id="nome">
</tr>
<tr>
<td>Sobrenome:
<td><input type="text" name="sobrenome" size="30" maxlenght="30" id="sobrenome">
</tr>
<tr>
<td>E-mail:
<td><input type="text" name="email" size="30" maxlenght="30" id="email">
</tr>
<tr>
<td>Data:
<td><input name='data' type='hidden' value='$data'>
</tr>
<tr>
<td>Título da Notícia:
<td><input type="text" name="titulo" size="30" maxlenght="30" id="titulo">
</tr>
<tr>
<td>Notícia:
<td><input type="textarea" name="noticia" rows="10" cols="30" id="noticia">
</tr>
</table>
<input type="submit" name="enviar" value="Enviar">
<input type="reset" name="limpar" value="Limpar">
</form>
<br>

</body>
</head>
</html>

Agora pensei aqui <_< acho que ainda não é o que você quer não é ^_^

Link para o comentário
Compartilhar em outros sites

  • 0

Já sei sua duvida pera ai que vou fazer um exemplo aqui

Insere isso aqui la no seu BD:

`data` TEXT NOT NULL ,

<html>
<head>
<title>Cadastrar</title>
</head>
<body>
<font face="tahoma" size=+2>Notícias</font>
<form name="form1" method="POST" action="inserir.php">
<table border=0>
<tr>
<td>Nome:
<td><input type="text" name="nome" size="30" maxlenght="30" id="nome">
</tr>
<tr>
<td>Sobrenome:
<td><input type="text" name="sobrenome" size="30" maxlenght="30" id="sobrenome">
</tr>
<tr>
<td>E-mail:
<td><input type="text" name="email" size="30" maxlenght="30" id="email">
</tr>
<tr>
<td>Data:
<td><input type="text" name="data" size="30" maxlenght="30" id="data">
</tr>
<tr>
<td>Título da Notícia:
<td><input type="text" name="titulo" size="30" maxlenght="30" id="titulo">
</tr>
<tr>
<td>Notícia:
<td><input type="textarea" name="noticia" rows="10" cols="30" id="noticia">
</tr>
</table>
<input type="submit" name="enviar" value="Enviar">
<input type="reset" name="limpar" value="Limpar">
</form>
<br>

</body>
</head>
</html>

Não fiz muita alteração não é só você adicionar aquilo no seu bd junto com outras tabelas e add o input da data que estava faltando...

Outra coisa me passa sua tabela mysql do seu bd

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe, você quer as informações tipo: nome do banco de dados, usuário, senha e nome da tabela

ou as informações da própria tabela, tipo: nome da tabela, campos, tipo de campos etc.?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

tb_noticias

id int(5) auto_increment

nome varchar(15)

sobrenome varchar(30)

email varchar(80)

data text

titulo varchar(100)

noticia text

id int é chave primária.

Link para o comentário
Compartilhar em outros sites

  • 0

tb_noticias

id int(5) auto_increment

nome varchar(15)

sobrenome varchar(30)

email varchar(80)

data TEXT NOT NULL

titulo varchar(100)

noticia TEXT NOT NULL

id int é chave primária.

Faz essas alterações e testa ai e vê o que da

Link para o comentário
Compartilhar em outros sites

  • 0

Entaum faz o seguinte, me passa essa sua tabela todo mais tem que ser toda do jeito que estar ai em seu BD e me passa pra mim criar aqui e testar seu script, se der certo aqui eu te retorno ;)

Link para o comentário
Compartilhar em outros sites

  • 0

Aee consegui aqui :rolleyes:

Faz do jeito que está aqui que não vai dar erro :)

SQL:

CREATE TABLE `noticias` (

`id` INT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT ,

`nome` TEXT NOT NULL ,

`sobrenome` TEXT NOT NULL ,

`email` TEXT NOT NULL ,

`data` TEXT NOT NULL ,

`titulo` TEXT NOT NULL ,

`noticia` TEXT NOT NULL ,

PRIMARY KEY ( `id` )

);

cadastrar.htm

<html>
<head>
<title>Cadastrar</title>
</head>
<body>
<font face="tahoma" size=+2>Notícias</font>
<form name="form1" method="POST" action="inserir.php">
<table border=0>
<tr>
<td>Nome:
<td><input type="text" name="nome" size="30" maxlenght="30" id="nome">
</tr>
<tr>
<td>Sobrenome:
<td><input type="text" name="sobrenome" size="30" maxlenght="30" id="sobrenome">
</tr>
<tr>
<td>E-mail:
<td><input type="text" name="email" size="30" maxlenght="30" id="email">
</tr>
<tr>
<td>Data:
<td><input type="text" name="data" size="30" maxlenght="30" id="data">
</tr>
<tr>
<td>Título da Notícia:
<td><input type="text" name="titulo" size="30" maxlenght="30" id="titulo">
</tr>
<tr>
<td>Notícia:
<td><input type="textarea" name="noticia" rows="10" cols="30" id="noticia">
</tr>
</table>
<input type="submit" name="enviar" value="Enviar">
<input type="reset" name="limpar" value="Limpar">
</form>
<br>

</body>
</head>
</html>
inserir.php
<?php
include "config.php"; //conectar com BD

$nome = $_POST['nome'];
$sobrenome = $_POST['sobrenome'];
$email = $_POST['email'];
$data = $_POST['data'];
$titulo = $_POST['titulo'];
$noticia = $_POST['noticia'];

$sql = mysql_query("INSERT INTO noticias (nome,sobrenome,email,data,titulo,noticia) VALUES ('$nome','$sobrenome','$email','$data','$titulo','$noticia')") or die (mysql_error());
if($sql){echo"o cadastro foi feito com sucesso";
}else{
echo"o cadastro não pode ser efetuado";
}
?>
config.php
<?

$host = "localhost"; // sempre deixe local host 
$user = "root"; // seu usuario do db
$pass = "";// sua senha do sb
$db = "noticias"; //o nome do sue banco de dados
$conexao = @mysql_connect($host, $user, $pass) or die(mysql_error());

@mysql_select_db($db, $conexao) or die("erro ao se conectar com o db");
?>
Agora criei aqui uma pagina pra exibir as noticias exibir.php
<?
include"config.php"; 

$y = mysql_query("SELECT * FROM noticias");
while($x = mysql_fetch_array($y)){ //criei um array chamado $x que sera responssavel pra listar os dados
echo'
<table width="0%" border="0" cellspacing="1" bgcolor="#339900">
  <tr>
    <td width="357" align="center" bgcolor="#FFFFFF"><strong><font color="#FF0000" size="1" face="verdana">...:::::Exibindo::::......</font></strong></td>
  </tr>
  <tr>
    <td height="98" valign="top" bgcolor="#FFFFFF"> <table width="362" height="111" border="0" cellspacing="0">
        <tr>
          <td width="44"><strong><font size="1" face="verdana">Nome:</font></strong></td>
          <td width="314"><strong><font color="#009900" size="1" face="verdana">'.$x['nome'].'</font></strong></td>
        </tr>
        <tr>
          <td width="44"><strong><font size="1" face="verdana">Sobrenome :</font></strong></td>
          <td width="314"><strong><font color="#009900" size="1" face="verdana">'.$x['sobrenome'].'</font></strong></td>
        </tr>
        <tr>
          <td width="44"><strong><font size="1" face="verdana">Email :</font></strong></td>
          <td width="314"><strong><font color="#009900" size="1" face="verdana">'.$x['email'].'</font></strong></td>
        </tr>
        <tr>
          <td><strong><font size="1" face="verdana">Data :</font></strong></td>
          <td><strong><font color="#009900" size="1" face="verdana">'.$x['data'].'</font></strong></td>
        </tr>
        <tr>
          <td width="44"><strong><font size="1" face="verdana">Titulo :</font></strong></td>
          <td width="314"><strong><font color="#009900" size="1" face="verdana">'.$x['titulo'].'</font></strong></td>
        </tr>
        <tr>
          <td width="44"><strong><font size="1" face="verdana">Noticia :</font></strong></td>
          <td width="314"><strong><font color="#009900" size="1" face="verdana">'.$x['noticia'].'</font></strong></td>
        </tr>
      </table></td>
  </tr>
</table>
<br>

';
}// imprimi os resultados da tabela cadastro na tela
?>

Bom na data eu fiz assim um exemplo: 21/05/2006, pode fazer assim que funciona ;)

Agora acho que não tem mais erro :lol:

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Aê cara,

Valeu mesmo.

Você salvou o meu dia hoje.

Bom, sou iniciante e acho que vou estar aqui pelo fórum por alguns dias.

Abraços,

Até mais.

Link para o comentário
Compartilhar em outros sites

  • 0

Dêem uma olhada nisso:

$data = date("d/m/Y");
$hora = date("H:i:s");
$dia = substr ( $data , 0 , 2 );
$mês = substr ( $data , 3 , 2 );
$ano = substr ( $data , 6 , 4 );
$dfinal = $ano . $mês . $dia; 
$hora = substr ( $hora , 0 , 2 );
$min = substr ( $hora , 3 , 2 );
$sec = substr ( $hora , 6 , 2 );
$hfinal = $hora . $min . $sec;

$sql = mysql_query("INSERT INTO recados (nome,grupo,assunto,recado,data,hora) VALUES ('$nome','$grupo','$assunto','$recado','$dfinal','$hfinal')") or die (mysql_error());

A hora ele coloca certinho na tabela do bd mas a hora não.

Como eu faço para ele colocar a hora também?

"Preciso que os dois dados fiquem em campos separados."

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...