Registreren, datum van vandaag invoeren en terughalen
Ik ben bezig met een registratiescript.
Dit schrijft onder andere de geboortedatum weg in één veld (YYYY-MM-DD formaat) en de datum van 'vandaag' (de dag dat de gebruiker zich registreert) in een ander veld, zelfde formaat.
Geboortedatum werkt naar behoren, registratie alleen niet. Daar krijg ik 0000-00-00 te zien in de database (krijg geen errors bij het script).
Ik heb verschillende dingen gelezen over CURDATE() en NOW() alleen willen die niet werken op de manier waarop ik ze gebruik...
En daarna wil ik ze in een ander script weer terughalen, om ze neer te zetten. Nu kan ik dat in het YYYY-MM-DD formaat doen, maar ik wil liever andersom, dus in DD-MM-YYYY formaat. Is daar een commando voor?
Zie hieronder het script.
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<?php
session_start();
IF ($_POST['controle']=="TRUE") {
mysql_connect("localhost","root","") or die('Could not connect: ' . mysql_error());
mysql_select_db("forum") or die('Could not find database: ' . mysql_error());
$geboortedatum = mktime(0, 0, 0, $_POST['maand'], $_POST['dag'], $_POST['jaar']);
$t = time();
$leeftijdsec = ($geboortedatum < 0) ? ( $t + ($geboortedatum * -1) ) : $t - $geboortedatum;
$leeftijd = floor($leeftijdsec / "31536000");
$check_user = mysql_fetch_assoc ( mysql_query ("SELECT id FROM users WHERE Username = '". $_POST['username'] ."' ") );
$check_email = mysql_fetch_assoc ( mysql_query ("SELECT id FROM users WHERE Email = '". $_POST['emailadres'] ."' ") );
IF (
(empty($_POST['username']) )
OR (! (empty($check_user)))
OR (! (empty($check_email)))
OR (empty($_POST['password1']))
OR (empty($_POST['password2']))
OR (($_POST['password1']) != ($_POST['password2']))
OR (empty($_POST['emailadres']))
OR (($_POST['dag'] == "1") AND ($_POST['maand'] == "1") AND ($_POST['jaar'] == "2013"))
OR ($leeftijd < 13)
)
{ $error_head=("<b>!! ERROR !!</b>");
$error="1";}
IF ($error==1)
{
IF (empty($_POST['username']))
{ $error_user="Je hebt je <u>Gebruikersnaam</u> niet ingevuld!<br />"; }
IF (!(empty($check_user)))
{ $error_user="Deze gebruikersnaam <u>bestaat al</u>! Kies een andere."; }
IF (!(empty($check_email)))
{ $error_email="Dit emailadres is al <u>in gebruik</u> bij ons! Kies een andere."; }
IF (($_POST['password1']) != ($_POST['password2']))
{ $error_pass1="Je hebt niet twee keer <u>hetzelfde</u> Wachtwoord ingevuld!<br />"; }
IF ((empty($_POST['password1'])) OR (empty($_POST['password2'])))
{ $error_pass2="Je moet wel je Wachtwoord <u>twee keer</u> invullen!<br />"; }
IF ((empty($_POST['password1'])) AND (empty($_POST['password2'])))
{ $error_pass1 = $error_pass2 = "Je hebt <u>beide Wachtwoorden</u> niet ingevuld!<br />"; }
IF (empty($_POST['emailadres']))
{ $error_email="Je hebt je <u>E-mailadres</u> niet ingevuld!<br />"; }
IF (($_POST['dag'] == "1") AND ($_POST['maand'] == "1") AND ($_POST['jaar'] == "2013"))
{ $error_leeftijd1="Je hebt je <u>Geboortedatum</u> niet ingevuld!<br />"; }
IF (($leeftijd < "13") AND ($leeftijd >= "0") AND (!isset($error_leeftijd1)))
{ $error_leeftijd2="Je bent te <u>Jong</u> om je aan te mogen melden!<br />"; }
}
ELSE {
session_start();
$_POST['md5_password']=md5($_POST['password2']);
$_SESSION['username']=$_POST['username'];
$sql="INSERT INTO users (Username, Password, Email, Type, Birthday, Registerdate)
VALUES('".$_POST['username']."', '".$_POST['md5_password']."', '".$_POST['emailadres']."', 'Normal', '".$_POST['jaar']."-".$_POST['maand']."-".$_POST['dag']."', '".(' DATE: AUTO NOW(), NOW() ')."' )";
if (!mysql_query($sql))
{ die('Error: ' . mysql_error()); }
header("location: signedup.php");
mysql_close($con); } }
include('menu.php');
?>
<html>
<head>
<title>Forum - Registratie</title>
<!-- <link rel="icon" type="image/ico" href="/forum/favicon.ico"> </link> -->
</head>
<body bgcolor="CAFFAF">
<form action="" method="post">
<center><h2>REGISTREREN</h2> </center>
<?php echo $_SESSION['error_head'], $error_head; ?><br /></font>
<table>
<!-- Normale Gegevens -->
<tr><td width="200">Wat is uw Gebruikersnaam?</td>
<td width="100"><input type="text" name="username" value="<?php echo $_POST[username];?>" size="27"></td>
<td width="10"></td> <td width="360"> <?php echo $error_user; ?> </td> </tr>
<tr><td>Wat is uw Wachtwoord?</td><td><input type="password" name="password1" value="<?php echo $_POST[password1];?>" size="27" /> </td>
<td></td> <td> <?php echo $error_pass1; ?> </td> </tr>
<tr><td>Wachtwoord ter controle:</td><td><input type="password" name="password2" value="<?php echo $_POST[password2];?>" size="27" /> </td>
<td></td> <td> <?php echo $error_pass2; ?> </td></tr>
<tr><td>Wat is uw E-mailadres? </td><td> <input type="email" name="emailadres" value="<?php echo $_POST[emailadres];?>" size="27" / ><br /></td>
<td></td> <td> <?php echo $error_email; ?> </td></tr>
<!-- Geboortedatum -->
<tr><td width="200">Wanneer bent u geboren?</td><td width="198">
<?php
//selectbox van de dagen
echo '<select name="dag">';
for($d=1;$d<=31;$d++){
if($d == $_POST['dag']){$selected = 'selected="selected"';}else{$selected = '';}
echo '<option value="'.$d.'" '.$selected.'>'.$d.'</option>'; }
echo '</select>';
//zet de nederlandse maanden in een array om deze te gebruiken in de selectbox van de maanden
$maanden = array("Januari", "Februari", "Maart", "April", "Mei", "Juni",
"Juli", "Augustus", "September", "Oktober", "November", "December");
//selectbox van de maanden
//gebruik $maanden[$m-1] omdat een array bij 0 begint
echo '<select name="maand">';
for($m=1;$m<=12;$m++){
if($m == $_POST['maand']){$selected = 'selected="selected"';}else{$selected = '';}
echo '<option value="'.$m.'" '.$selected.'>'.$maanden[$m-1].'</option>'; }
echo '</select>';
//selectbox van de jaren
echo '<select name="jaar">';
for($j=date("Y");$j>=1940;$j--){
if($j == $_POST['jaar']){$selected = 'selected="selected"';}else{$selected = '';}
echo '<option value="'.$j.'" '.$selected.'>'.$j.'</option>'; }
echo '</select>';
?>
<td width="0"></td> <td width="352"> <?php echo $error_leeftijd1, $error_leeftijd2; ?> </td> </tr>
<tr><td width="200"></td><td width="250"> Let op: je moet minstens 13 jaar zijn!! </td></tr>
<tr><td><input type="hidden" name="controle" value="TRUE"> <input type="submit" value="Verzenden"></form></td></tr>
<tr><td><form name="reset" method="post" action="<?php echo ($_SERVER["PHP_SELF"]);?>"> <input type="submit" name="submit" value="Reset"></form></td></tr>
</table>
<!-- INLOGGEN -->
<center><h2>INLOGGEN</h2> </center>
<form action="inlog.php" method="post">
<hr>
<table>
<tr><td width=200>Gebruikersnaam: </td><td width=100><input type="text" name="username" size=27></td></tr>
<tr><td> Wachtwoord:</td><td width=100><input type="password" name="password" size=27></td></tr>
<tr><td colspan=2><input type="submit" value="Log in!"></td></tr>
</table>
</form>
</body>
</html>
session_start();
IF ($_POST['controle']=="TRUE") {
mysql_connect("localhost","root","") or die('Could not connect: ' . mysql_error());
mysql_select_db("forum") or die('Could not find database: ' . mysql_error());
$geboortedatum = mktime(0, 0, 0, $_POST['maand'], $_POST['dag'], $_POST['jaar']);
$t = time();
$leeftijdsec = ($geboortedatum < 0) ? ( $t + ($geboortedatum * -1) ) : $t - $geboortedatum;
$leeftijd = floor($leeftijdsec / "31536000");
$check_user = mysql_fetch_assoc ( mysql_query ("SELECT id FROM users WHERE Username = '". $_POST['username'] ."' ") );
$check_email = mysql_fetch_assoc ( mysql_query ("SELECT id FROM users WHERE Email = '". $_POST['emailadres'] ."' ") );
IF (
(empty($_POST['username']) )
OR (! (empty($check_user)))
OR (! (empty($check_email)))
OR (empty($_POST['password1']))
OR (empty($_POST['password2']))
OR (($_POST['password1']) != ($_POST['password2']))
OR (empty($_POST['emailadres']))
OR (($_POST['dag'] == "1") AND ($_POST['maand'] == "1") AND ($_POST['jaar'] == "2013"))
OR ($leeftijd < 13)
)
{ $error_head=("<b>!! ERROR !!</b>");
$error="1";}
IF ($error==1)
{
IF (empty($_POST['username']))
{ $error_user="Je hebt je <u>Gebruikersnaam</u> niet ingevuld!<br />"; }
IF (!(empty($check_user)))
{ $error_user="Deze gebruikersnaam <u>bestaat al</u>! Kies een andere."; }
IF (!(empty($check_email)))
{ $error_email="Dit emailadres is al <u>in gebruik</u> bij ons! Kies een andere."; }
IF (($_POST['password1']) != ($_POST['password2']))
{ $error_pass1="Je hebt niet twee keer <u>hetzelfde</u> Wachtwoord ingevuld!<br />"; }
IF ((empty($_POST['password1'])) OR (empty($_POST['password2'])))
{ $error_pass2="Je moet wel je Wachtwoord <u>twee keer</u> invullen!<br />"; }
IF ((empty($_POST['password1'])) AND (empty($_POST['password2'])))
{ $error_pass1 = $error_pass2 = "Je hebt <u>beide Wachtwoorden</u> niet ingevuld!<br />"; }
IF (empty($_POST['emailadres']))
{ $error_email="Je hebt je <u>E-mailadres</u> niet ingevuld!<br />"; }
IF (($_POST['dag'] == "1") AND ($_POST['maand'] == "1") AND ($_POST['jaar'] == "2013"))
{ $error_leeftijd1="Je hebt je <u>Geboortedatum</u> niet ingevuld!<br />"; }
IF (($leeftijd < "13") AND ($leeftijd >= "0") AND (!isset($error_leeftijd1)))
{ $error_leeftijd2="Je bent te <u>Jong</u> om je aan te mogen melden!<br />"; }
}
ELSE {
session_start();
$_POST['md5_password']=md5($_POST['password2']);
$_SESSION['username']=$_POST['username'];
$sql="INSERT INTO users (Username, Password, Email, Type, Birthday, Registerdate)
VALUES('".$_POST['username']."', '".$_POST['md5_password']."', '".$_POST['emailadres']."', 'Normal', '".$_POST['jaar']."-".$_POST['maand']."-".$_POST['dag']."', '".(' DATE: AUTO NOW(), NOW() ')."' )";
if (!mysql_query($sql))
{ die('Error: ' . mysql_error()); }
header("location: signedup.php");
mysql_close($con); } }
include('menu.php');
?>
<html>
<head>
<title>Forum - Registratie</title>
<!-- <link rel="icon" type="image/ico" href="/forum/favicon.ico"> </link> -->
</head>
<body bgcolor="CAFFAF">
<form action="" method="post">
<center><h2>REGISTREREN</h2> </center>
<?php echo $_SESSION['error_head'], $error_head; ?><br /></font>
<table>
<!-- Normale Gegevens -->
<tr><td width="200">Wat is uw Gebruikersnaam?</td>
<td width="100"><input type="text" name="username" value="<?php echo $_POST[username];?>" size="27"></td>
<td width="10"></td> <td width="360"> <?php echo $error_user; ?> </td> </tr>
<tr><td>Wat is uw Wachtwoord?</td><td><input type="password" name="password1" value="<?php echo $_POST[password1];?>" size="27" /> </td>
<td></td> <td> <?php echo $error_pass1; ?> </td> </tr>
<tr><td>Wachtwoord ter controle:</td><td><input type="password" name="password2" value="<?php echo $_POST[password2];?>" size="27" /> </td>
<td></td> <td> <?php echo $error_pass2; ?> </td></tr>
<tr><td>Wat is uw E-mailadres? </td><td> <input type="email" name="emailadres" value="<?php echo $_POST[emailadres];?>" size="27" / ><br /></td>
<td></td> <td> <?php echo $error_email; ?> </td></tr>
<!-- Geboortedatum -->
<tr><td width="200">Wanneer bent u geboren?</td><td width="198">
<?php
//selectbox van de dagen
echo '<select name="dag">';
for($d=1;$d<=31;$d++){
if($d == $_POST['dag']){$selected = 'selected="selected"';}else{$selected = '';}
echo '<option value="'.$d.'" '.$selected.'>'.$d.'</option>'; }
echo '</select>';
//zet de nederlandse maanden in een array om deze te gebruiken in de selectbox van de maanden
$maanden = array("Januari", "Februari", "Maart", "April", "Mei", "Juni",
"Juli", "Augustus", "September", "Oktober", "November", "December");
//selectbox van de maanden
//gebruik $maanden[$m-1] omdat een array bij 0 begint
echo '<select name="maand">';
for($m=1;$m<=12;$m++){
if($m == $_POST['maand']){$selected = 'selected="selected"';}else{$selected = '';}
echo '<option value="'.$m.'" '.$selected.'>'.$maanden[$m-1].'</option>'; }
echo '</select>';
//selectbox van de jaren
echo '<select name="jaar">';
for($j=date("Y");$j>=1940;$j--){
if($j == $_POST['jaar']){$selected = 'selected="selected"';}else{$selected = '';}
echo '<option value="'.$j.'" '.$selected.'>'.$j.'</option>'; }
echo '</select>';
?>
<td width="0"></td> <td width="352"> <?php echo $error_leeftijd1, $error_leeftijd2; ?> </td> </tr>
<tr><td width="200"></td><td width="250"> Let op: je moet minstens 13 jaar zijn!! </td></tr>
<tr><td><input type="hidden" name="controle" value="TRUE"> <input type="submit" value="Verzenden"></form></td></tr>
<tr><td><form name="reset" method="post" action="<?php echo ($_SERVER["PHP_SELF"]);?>"> <input type="submit" name="submit" value="Reset"></form></td></tr>
</table>
<!-- INLOGGEN -->
<center><h2>INLOGGEN</h2> </center>
<form action="inlog.php" method="post">
<hr>
<table>
<tr><td width=200>Gebruikersnaam: </td><td width=100><input type="text" name="username" size=27></td></tr>
<tr><td> Wachtwoord:</td><td width=100><input type="password" name="password" size=27></td></tr>
<tr><td colspan=2><input type="submit" value="Log in!"></td></tr>
</table>
</form>
</body>
</html>
DATE: AUTO NOW(), NOW()
door kortweg:
NOW()
of:
CURDATE()
dan heb ik het dus zo:
Of
Fatal error: Call to undefined function curdate() in J:\xampp\htdocs\forum\signup.php on line 56
als ik curdate() gebruik
Gewijzigd op 20/08/2013 16:18:58 door Kevin Zegikniet
Plaats NOW() of CURDATE() binnen de string: het zijn MySQL-functies, geen PHP-functies.
Nu nog de vraag: hoe draai ik het dan weer om in php?
http://phphulp.jorendewit.nl/view/1/
Je vindt er een antwoord op zowat elke vraag die je kan hebben over tijd en datum in mySQL
Bedankt, zeer handige website!