Ir para conteúdo

POWERED BY:

Arquivado

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

lsteffler

[Resolvido] Colocar data e hora automaticamente

Recommended Posts

Bom dia!

 

Tenho um formulario de cadastro de notícia onde existem os campos Data e Hora, e gostaria que estes fossem preenchidos automaticamente, alguem poderia me explicar como fazer?

 

cadastro.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Cadastro</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="salvar.php">
  <h2 align="center"><strong>Cadastro de Notícias</strong></h2>
  <table width="390" border="1" align="center">
	<tr>
	  <td width="165">Título</td>
	  <td width="209"><input name="titulo" type="text" id="titulo" /></td>
	</tr>
	<tr>
	  <td>Autor</td>
	  <td><input name="autor" type="text" id="autor" /></td>
	</tr>
	<tr>
	  <td>Data</td>
	  <td><input name="data" type="text" id="data" /></td>
	</tr>	
	<tr>
	  <td>Hora</td>
	  <td><input name="hora" type="text" id="hora" /></td>
	</tr>
	<tr>
	  <td>Materia</td>
	  <td><textarea name="materia" type="textarea" cols="45" rows="10" id="materia" />
	  </textarea></td>
	</tr>	
	<tr>
	  <td>Foto</td>
	  <td><input name="foto" type="text" id="foto" /></td>
	</tr>
	<tr>
	  <td> </td>
	  <td><input type="submit" name="Submit" value="Gravar" style="cursor:pointer"/></td>
	</tr>
  </table>
</form>
</body>
</html>

salvar.php

<?php
@ini_set('display_errors', '1');
error_reporting(E_ALL);

$titulo  = $_POST["titulo"];
$autor   = $_POST["autor"];
$data	= $_POST["data"];
$hora	= $_POST["hora"];
$materia = $_POST["materia"];
$foto	= $_POST["foto"]; 

mysql_connect("localhost", "lsteffler", "lsteffler");
mysql_select_db("banco");

mysql_query("INSERT INTO noticias ( id_noticias , titulo , autor , data , hora , materia , foto ) 
			VALUES ( NULL , '$titulo', '$autor', '$data', '$hora', '$materia', '$foto')");
mysql_close();
echo "Salvo com sucesso<br />";
?>
<a href="index.html">Voltar</a>

No banco de dados já está definido na tabela a data (date) e a hora (time).

 

Vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode colocar a estrutura da data e da hora como timestamp no bd, e assim é só colocar NOW() em vez de '$data', etc. Se preferir, pode colocar assim também.

 

$data = date("d/m/y", time());
$hora = date("H:i:s", time());

E aí acho que não seria mais necessário os campos no formulário de data e hora né? :huh:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Renam...

 

É... na realidade estes campos eu vou utilizar na pagina onde serão exibidas as noticias, mostrando a data e hora em que foram postadas, entende.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, coloca um campo hidden assim:

 

<input name="data" type="hidden" id="data" value="<? 
			 echo time();
			  ?>" />

Vai vim um número bem grandão. Manda inserir no banco de dados com inteiro.

 

Depois, na hora de exibir, faça que nem o Renan falou.

 

$data= date("d/m/y",$numerograndao);

$hora= date("H:i", $numerograndao);

 

echo "$data - $hora";

 

 

o d põe o número do dia, o m põe o número do mes e o y põe o ano com 2 dígitos. o H põe as horas no sistema brasileiro(12,13,14... sem am e pm) e o i põe os minutos. se quiser dar uma olhada em o que cada letra faz, clique aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Renam...

 

É... na realidade estes campos eu vou utilizar na pagina onde serão exibidas as noticias, mostrando a data e hora em que foram postadas, entende.

Ahhhhhhhh, odeio quando erram meu nome :wacko:, é com N no final http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Mas funcionou do jeito que eu disse?

O que eu quiz dizer é que se o PHP já vai colocar a data automaticamente, não é necessário ter um campo pra colocar a data e a hora né? :mellow:

 

Cara, coloca um campo hidden assim:

 

<input name="data" type="hidden" id="data" value="<? 
			 echo time();
			  ?>" />

Vai vim um número bem grandão. Manda inserir no banco de dados com inteiro.

 

Depois, na hora de exibir, faça que nem o Renan falou.

 

$data= date("d/m/y",$numerograndao);

$hora= date("H:i", $numerograndao);

 

echo "$data - $hora";

 

 

o d põe o número do dia, o m põe o número do mes e o y põe o ano com 2 dígitos. o H põe as horas no sistema brasileiro(12,13,14... sem am e pm) e o i põe os minutos. se quiser dar uma olhada em o que cada letra faz, clique aqui

É, exatamente. O problema é que o form está em .html, 'cadastro.html'. E aí ele teria que mudar pra php, então é mais conveniente colocar já na parte php, que não iria precisar mudar nada http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

RenaNNNNN.... :rolleyes:

 

Deixei assim:

$titulo  = $_POST["titulo"];
$autor   = $_POST["autor"];
$data 	 = date("d/m/y");
$hora	 = date("H:i:s");
$materia = $_POST["materia"];
$foto	= $_POST["foto"];

Tive que tirar o time() pq com ele nao fazia nem o cadastro.

 

E no BD deixei como Time no formato 00:00 ma no resultado aparece no formato 00:00:00

E a data deixei como DATE e sem formato, apareceu a data porem aparece esta data: 2020-03-08

 

A data do meu computador está correta nao entendi o pq desta data e nao sei como inverter isso pro format BR.

 

E realmente, com isso eu vou retirar do formulario os campos de data e hora entendi agora o q você quis dizer http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

ah... derepente tenha q modificar algo no listar.php?

 

<body>
<?php
if(mysql_num_rows($resultado) < 1) {
	exit;
}
?>
<h2 align="center"><strong>Lista de Notícias Cadastradas</strong></h2>

<table border="1" align="center">
  <tr>
	<th>ID</th>
	<th>TITULO</th>
	<th>AUTOR</th>
	<th>DATA</th>
	<th>HORA</th>
	<th>MATERIA</th>
	<th>FOTO</th>
	<th>EDITAR/EXCLUIR</th>
  </tr>
<?php
while($l = mysql_fetch_array($resultado)) {
	$id	  = $l["id_noticias"];
	$titulo  = $l["titulo"];
	$autor   = $l["autor"];
	$data	= $l["data"];
	$hora	= $l["hora"];
	$materia = $l["materia"];
	$foto	= $l["foto"];
	
	echo"
  <tr>
	<td>$id</td>
	<td>$titulo</td>
	<td>$autor</td>
	<td>$data</td>
	<td>$hora</td>
	<td>$materia</td>
	<td>$foto</td>
	<td><a href=\"editar.php?id=$id\">[Editar]</a> | <a href=\"excluir.php?id=$id\">[Excluir]</a></td>
  </tr>\n";
}  
?>  
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

RenaNNNNN.... :rolleyes:

Aiiiii, qui fofuuuu :rolleyes:

 

Bom........

haha, eu te dei duas opções, não quer dizer que era pra fazer as duas http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

Você pode mudar o bd pra timestamp, e assim no INSERT colocar NOW() nas datas... ou então usar o

$data	  = date("d/m/y");
$hora	 = date("H:i:s");
com o bd em varchar mesmo...

 

Se você colocou o bd com timestamp, então deixa o insert assim:

mysql_query("INSERT INTO noticias ( id_noticias , titulo , autor , data , hora , materia , foto )
			VALUES ( NULL , '$titulo', '$autor', NOW(), NOW(), '$materia', '$foto')");

Acho que é assim o.O, não tenho certeza se é os dois com NOW()...

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.