fuzzylr Posted February 18, 2013 Share Posted February 18, 2013 Greetings, I am really new at coding php. I have been working for a while and doing some Google searches. I am trying to make a registeration page for something I am working on. I can get everything in the database but dates & times. Right now it's all bogus information. I am curious on how to take a date (like a birthday) and write it to my MySql datebase? Every attempt I have made that is the only piece that doesn't get written. Also I am having an issue with the php date getting into the database. Html code <!DOCTYPE HTML><html><head><title>Demo Game</title></head><body><h1>Test page</h1><p>This is a demo page. More to come.</p><p>In the area below. You will find a location for registration. Please attempt to make an account.</p> <!-- Divide for form formatting --> <div id="container" style="width:250px"><!-- Form for registering new users into the game. --><form id="register" action="reg.php" method="post"> <fieldset> <legend>Registration</legend> <div id="col1" style="width:75px; float:left;"> Username:<br> Password:<br> First name:<br> Last name:<br> Birthday:<br> Email: </div> <div id="input" style="width:100px; float:left;"> <input type"text" name="username" placeholder="Username" required autofocus><br> <input type="password" name="password" placeholder="Password" required><br> <input type"text" name="fname" placeholder="First Name" required><br> <input type"text" name="lname" placeholder="Last Name" required><br> <input type="date" name="bday" placeholder="(MM/DD/YYYY)" required><br> <input type="email" name="email" placeholder="Email address" required> </div> <div id="gender" style="text-align:center; clear:both;"> Gender: <select name="gender"> <option value="Male">Male</option> <option value="Female">Female</option> </select><br><br> </div> <input type="submit" value="Register"> </fieldset></form></div> </body></html> php code <?php// Variables//$Date = now();$User = "";$Password = "";$Database = "testgame";$Table = "players";$Host = "localhost";$sqlDate = date('Y-m-d H:i:s'); //Check to make sure variables are set from index.htmif(isset($_POST[username]) && isset($_POST[password]) && isset($_POST[fname]) && isset($_POST[lname])&& isset($_POST[bday]) && isset($_POST[email]) && isset($_POST[gender])){// Connect to the servermysql_connect($Host, $User, $Password) or die (mysql_error()); //Check connectivitymysql_select_db($Database) or die(mysql_error()); // Insert data into DB$insert = "INSERT INTO $Table (username, password, name, last, email, birthday, registered, gender) VALUES('$_POST[username]', '$_POST[password]', '$_POST[fname]', '$_POST[lname]', '$_POST[email]', '$_POST[bday]', '$sqlDate', '$_POST[gender]')"; //Check to see if the name exists (no duplicates)$result = mysql_query("SELECT * FROM $Table Where email = '$_POST[email]'"); echo $_POST[email]; if($result){ if(!mysql_query($insert)) { die (mysql_error()); echo "Record added. "; }}else { echo "Email already used."; } mysql_close($con); } //End of check ?> Link to comment Share on other sites More sharing options...
justsomeguy Posted February 18, 2013 Share Posted February 18, 2013 It depends which data types you're using in MySQL. If you have a datetime field, then you need to write the date in the format that MySQL expects for those fields. When I store dates I use integers in the database, and I store Unix timestamps. The time function returns a Unix timestamp, and the date function takes a timestamp to format. The getdate function will take a timestamp and return an array of information about it, and mktime will make a timestamp for a specific date and time. The strtotime function will convert most recognizable date strings to a timestamp. Link to comment Share on other sites More sharing options...
fuzzylr Posted February 19, 2013 Author Share Posted February 19, 2013 Ok, I have fixed the problem with posting the date times to the database. I have one last issue. I want the code to do a check in the DB to make sure the email does not already exist. here is my code. It either constantly denies the write or just always lets it through. I have a feeling it's not pulling data out of the database to compare to. $result = mysql_query("SELECT * FROM $Table Where email = '$Email'");echo $result;if($result !== $Email){ mysql_query($insert); header( 'location: complete.htm');}else { header( 'location: error.htm'); } Link to comment Share on other sites More sharing options...
fuzzylr Posted February 19, 2013 Author Share Posted February 19, 2013 Never mind. I figured it out. I needed to tranlate the data with mysql_fetch_array $query = mysql_query("SELECT * FROM $Table Where email='$Email'");$query_row=mysql_fetch_array($query);if($query_row == NULL){ mysql_query($insert); header( 'location: complete.htm');}else { header( 'location: error.htm'); } Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now