[PHP] datum invoeren in database via formulier

Pagina: 1
Acties:
  • 148 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben bezig aan een eenvoudig script om via een formulier een tijd (datum) in de database te plaatsen.
Dit is het grootste gedeelte van mij toepasscript (doorsturen.php):

PHP:
1
2
3
4
5
6
7
8
9
<?
if ($_POST['Submit']) {  
 
$tijd="". $_POST[jaar1] . "-" .$_POST[maand1] . "-" . $_POST[dag1] ."";  

  $query="INSERT INTO test (id,datum) VALUES ('id','$tijd')";  
  mysql_query($query) or die (mysql_error()); 
}
?>



Kan iemand mij misschien helpen hoe ik het formulier maak, zonder dat ik undefined indexes, undefined constants krijg op jaar1, maand1 en dag1.
Dit is mijn formulier:

<table width="320" bgcolor="#38454D" height="172">
<FORM NAME="formulier" METHOD="post" ACTION="doorsturen.php">
<td height="168">
<input name="titel" type="text">
<p align="center"><input type="submit" value="Plaats" name="Submit"><input type="reset" value="Reset" name="Reset"> </FORM></p>
</table>

Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Kuch...
Volgens mij had ik het verkeerd. Opnieuw:

Welke waarde heeft die 'id' in je SQL Query? Daar zou ik eens van maken '', er vanuit gaande dat je ID een auto_increment veld is.

[ Voor 185% gewijzigd door OkkE op 24-11-2003 14:46 ]

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

Verwijderd

eeeeeeeeeeeh......... zoiets?

code:
1
2
3
4
5
6
<FORM NAME="formulier" METHOD="post" ACTION="doorsturen.php"> 
<input name="jaar1" type="text"> 
<input name="maand1" type="text"> 
<input name="dag1" type="text"> 
<input type="submit" value="OK">
</FORM>

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ja dat die datums niet in de database staan is zeker. Het gaat er juist om dat ik via een formulier een datum in de database zet.

Alleen ik krijg nu die foutmeldingen, omdat er waarschijnlijk nog iets in mn formulier ontbreekt.

Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Lamaar... was onzin.

[ Voor 119% gewijzigd door OkkE op 24-11-2003 14:56 ]

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

Verwijderd

zoek anders eens op php.net naar time date

er is iets van now(); maar dat weet ik niet zeker.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Verwijderd schreef op 24 november 2003 @ 14:34:

Kan iemand mij misschien helpen hoe ik het formulier maak, zonder dat ik undefined indexes, undefined constants krijg op jaar1, maand1 en dag1.
Door netjes te coden!

Aray index is een string, en daar horen dan ook aanhalingstekens omheen. Verder is het handig om te kijken of waarden wel geset zijn (if !isset($_POST['maand']) die('Maand niet ingevuld');)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 17-09 20:52

ripexx

bibs

Doe eens een print_r($_POST);

Welke waarden/sleutels/key's etc. zitten in je $_POST array. Aan je formulier te zien zal het iets zijn van: titel => jouw invoer; Submit => Plaats;

Waar zie je dan jaar1, maand1 en dag1 staan :? Verder wat doet je if statement? Bekijk je code eens en zoek eens wat voorbeelden. :)

buit is binnen sukkel


Acties:
  • 0 Henk 'm!

  • Cyberwizzard
  • Registratie: Juni 2001
  • Laatst online: 27-03-2024
Zoals Pepster ook al aangeeft, wat d8 je er van om een dag, maand en jaar veld in de eerste plaats op te nemen in je formulier? Anders wordt het een beetje moeilijk uitlezen he :P

Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

* OkkE was beetje dom bezig
Om het goed te maken...

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
if (!empty($_POST)){  
    $tijd = $_POST['jaar1'] . "-" .$_POST['maand1'] . "-" . $_POST['dag1'];  
    $query="INSERT INTO test (id,datum) VALUES ('','$tijd')";  
    mysql_query($query) or die (mysql_error());
}
?>


<FORM NAME="formulier" METHOD="post" ACTION="doorsturen.php">
Jaar 1: <input name="jaar1" type="text"><br>
Maand 1: <input name="maand1" type="text"><br>
Dag 1: <input name="dag1" type="text"><br>
<input type="submit" value="Plaats" name="Submit"><input type="reset" value="Reset" name="Reset">
</FORM>

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

  • judgem
  • Registratie: December 2001
  • Laatst online: 28-04-2014

judgem

Lord of Metal

Janoz schreef op 24 november 2003 @ 14:51:
[...]


Door netjes te coden!

Aray index is een string, en daar horen dan ook aanhalingstekens omheen. Verder is het handig om te kijken of waarden wel geset zijn (if !isset($_POST['maand']) die('Maand niet ingevuld');)
Je bedoelt time(); ;)

Zou de topicstarter kunnen vertellen wat precies de bedoeling is van het opnemen van de datum bij het posten van zijn formulier? Ik zou persoonlijk kiezen voor de time optie en die kun je dan later weer op vele manieren uitlezen.. Doe dan iets als:

code:
1
2
3
4
<form>
..etc
<input type="hidden" name="datum" value=<?time()?>
</form>

- Ik bespreek ook harde waren en dan wel op www.lordsofmetal.nl - en ik draai en programmeer ze in DYNAMO


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Hoezo ik bedoel time?? Ik zie een foutmelding die duidt op coden met error_level (E_ALL). Die 'constants' slaan op het weglaten van de quotes en de undefiend indexen slaan op het niet controleren of er uberhaupt wel een maand1 jaar1 of dag1 wordt opgestuurd (Wat inderdaad neit het geval is). Waar jij nu time() vandaan haalt weet ik niet en bedoelde ik ook absoluut niet.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ok iedereen bedankt voor de tips, het werkt nu. Nu alleen de layout een beetje aanpassen
Ik ben van plan in het formulier dropdown menu's in te bouwen voor alle dagen, maanden en jaren.

En als dat gelukt is wordt mijn volgende stap om een periode via een formulier in te vullen.

Dus van: ... t/m ...

[ Voor 10% gewijzigd door Verwijderd op 24-11-2003 15:11 ]


Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
Gebruik een handig 'datum-invul' javascriptje van een scripting site ofzo. Als je me mailt / ICQ'ed heb ik denk ik nog wel eentje.

[ Voor 10% gewijzigd door Skaah op 24-11-2003 22:19 ]


Acties:
  • 0 Henk 'm!

  • getty
  • Registratie: Januari 2001
  • Laatst online: 01-09 09:17
Is het niet handiger om de datum als unix timestamp op te slaan, dan krijg je zoiets

PHP:
1
2
3
4
5
6
7
if ($_POST['Submit']) 
  {   
  $tijd = mktime(0,0,0,$_POST[maand1],$_POST[dag1],$_POST[jaar1]);
  
  $query="INSERT INTO test (id,datum) VALUES ('id','$tijd')";   
  mysql_query($query) or die (mysql_error()); 
  }


Hier kun je veel meer mee als je de datum weer nodig hebt.

[ Voor 10% gewijzigd door getty op 25-11-2003 08:48 ]

A computer is almost human - except that it does not blame its mistakes on another computer.


Acties:
  • 0 Henk 'm!

Verwijderd

Hier kun je veel meer mee als je de datum weer nodig hebt.
so true!
vervloek mezelf nog wel eens dat ik daar niet aan gedacht heb bij het maken van mijn database ontwerp :P
maarja ophalen als UNIX_TIME gaat ook goed gelukkig :)
Pagina: 1