invoegen in database
ik ben nog een echte php leek, en zal dus wel een domme vraag stellen, maar ik ga het toch maar doen.
ik zit met een formulier waar nieuws gepost kan worden,voor het updaten van een website.
ik heb de velden id, datum, titel en bericht.
ik kan alles invoeren, zonder foutmeldingen te krijgen, maar als ik ga kijken in de dbase zelf, krijg ik enkel mijn id (auto_increment) en mijn datum (systeemdatum dus)
de code is als volgt...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
mysql_connect ("localhost","root", "");
mysql_select_db("macbillys");
$arraymaand = array("Januari","Februari","Maart","April",
"Mei","Juni", "Juli","Augustus","September","Oktober",
"November","December");
$datum = date("j") . $arraymaand[date(" n") - 1] . date(" Y") ;
if( isset($_POST['submit']))
{
$bericht= addslashes($_POST['bericht']);
if ($bericht == "")
$error="Je moet een bericht invullen!";
elseif ($_POST['titel'] =="")
$error="Je moet een onderwerp invullen!";
if (!isset($error))
{
$query = "INSERT INTO nieuws (datum,bericht,titel)
VALUES ('".$datum."','".$_post['bericht']."','".$_post['titel']."')";
mysql_query($query) or die (mysql_error());
echo "Het nieuws is toegevoegd!";
}
elseif (isset($error))
{
echo "
<div align=\"center\"><table width=\"50%\" border=\"1\"
cellspacing=\"0\" cellpadding=\"2\">
<tr bordercolor=\"#000000\">
<td bordercolor=\"#000000\" bgcolor=\"#e2e2e2\" height=\"36\">
<div align=\"center\"><div align=center>$error<br>
<form method=\"post\" action=\"javascript:history.go(-1)\">
<div align=center><input type=\"submit\"
name=\"Terug\" value=\"Terug\">
</form></td></tr></table>";
}
}
else
{
?>
mysql_connect ("localhost","root", "");
mysql_select_db("macbillys");
$arraymaand = array("Januari","Februari","Maart","April",
"Mei","Juni", "Juli","Augustus","September","Oktober",
"November","December");
$datum = date("j") . $arraymaand[date(" n") - 1] . date(" Y") ;
if( isset($_POST['submit']))
{
$bericht= addslashes($_POST['bericht']);
if ($bericht == "")
$error="Je moet een bericht invullen!";
elseif ($_POST['titel'] =="")
$error="Je moet een onderwerp invullen!";
if (!isset($error))
{
$query = "INSERT INTO nieuws (datum,bericht,titel)
VALUES ('".$datum."','".$_post['bericht']."','".$_post['titel']."')";
mysql_query($query) or die (mysql_error());
echo "Het nieuws is toegevoegd!";
}
elseif (isset($error))
{
echo "
<div align=\"center\"><table width=\"50%\" border=\"1\"
cellspacing=\"0\" cellpadding=\"2\">
<tr bordercolor=\"#000000\">
<td bordercolor=\"#000000\" bgcolor=\"#e2e2e2\" height=\"36\">
<div align=\"center\"><div align=center>$error<br>
<form method=\"post\" action=\"javascript:history.go(-1)\">
<div align=center><input type=\"submit\"
name=\"Terug\" value=\"Terug\">
</form></td></tr></table>";
}
}
else
{
?>
<!--
body {
background-color: #E0EBDB;
background-image: url(../pngs/bg.png);
}
-->
</style>
<link href="../welkom.css" rel="stylesheet" type="text/css" />
<u class="changes">Nieuws toevoegen: </u>
<form action="" method="post">
<table width="95%" border="0" cellspacing="0" cellpadding="0"><tr><td class="changes">
Het onderwerp:
</td>
</tr><tr> <td>
<input type="text" name="titel">
</td></tr><tr><td class="changes">
Bericht:
</td>
</tr><tr><td>
<textarea name="bericht" cols="60" rows="20" wrap="VIRTUAL"></textarea>
<br>
</td></tr><tr><td>
<input type="submit" value="Nieuws toevoegen" name="submit">
<input type="reset" value="Wis velden" name="reset">
</td></tr></table>
</form>
iemand enig idee waar mijn fout zit?
mvg
jan
Een datum sla je op in een veld van het type DATE (of DATETIME) in het formaat yyyy-mm-dd. Wanneer je het vervolgens op een andere manier op het scherm wilt weergeven, gebruik dan DATE_FORMAT(). Zie verder het artikel[/URL] van Jan Koehoorn.
Edit: URL aangepast.
Gewijzigd op 26/01/2006 15:17:00 door Frank -
maar daar ligt het probleem niet echt,lijkt me.
Jawel, altijd je Datum invoeren zoals Frank het zei..