September 6, 2002
Hej, jag sitter och försöker fixa ihop ett nyhetsscript till en sida, det är inget avancerat alls eftersom jag är nybörjare. Men i alla fall, jag har stött på ett problem.
Så här ser mina fält ut i tabellen:
id mediumint(9) Nej auto_increment
namn varchar(50) Nej
titel varchar(50) Nej
inlagg text Nej
datum datetime Nej 0000-00-00 00:00:00
Jag har alltså en datetime som ska lagra datum och tid, fast när jag lägger in en nyhet så får alla värdet 0000-00-00 00:00:00, vilket är samma som "mallen" för hur det ska se ut.
När datumet ska matas in i databasen använder jag dennas sats:
function matain() {
global $namn, $inlagg, $epost;
$datum = date("Y-m-d H:i:s");
$länk = mysql_connect ("******", "******","******");
$databas = mysql_select_db("test");$sql="INSERT INTO test(namn,inlagg,titel,datum) VALUES('{$_POST['namn']}','{$_POST['inlagg']}','{$_POST['titel']}','{$_POST['datum']}')";
mysql_query($sql);
mysql_close ($länk);
}
?>
Frågan är nu, varför lagras inte rätt datum i databasen?
September 6, 2002
BeatL wrote: enligt din kod så tar du datumvärdet ifrån formuläret? fyller man själv i datumet?
annars kan du byta ut {$_POST['datum']} mot NOW() för att fylla i datumet i precis det ögonblicket posten sparas i databasen.
Datumet ska inte läggas in manuellt, men om jag byter ut {$_POST['datum']} rakt av mot NOW() hur ska den då förstå att det ska lagras i fältet datum?
Denna raden sätter väl datumet till variablen datum?
$datum = date("Y-m-d H:i:s");
I så fall bör väl koden jag hade stämma?
November 14, 2003
$_POST betyder att man hämtar värden från formulär, om du vill använda variablen $datum du själv skapat ska du inte skriva $_POST framför.
$sql="INSERT INTO test(namn,inlagg,titel,datum) VALUES('{$_POST['namn']}','{$_POST['inlagg']}','{$_POST['titel']}','{$datum}')";
1 Guest(s)