jaquelyn Posted January 29, 2009 Share Posted January 29, 2009 Hi! I'm trying to process a date field on a form where the input is m/d/Y and I can't figure out how to have that entered as the appropriate Y-m-d mysql format. I've tried a thousand things, but I'm doing something wrong. And I can't use a dropdown. Users must be able to enter the date in m/d/Y format. Thank you for any help you can offer! Here is the code: $currentPage = $_SERVER["PHP_SELF"]; $editFormAction = $_SERVER['PHP_SELF']; if (isset($_SERVER['QUERY_STRING'])) { $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); } if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) { $insertSQL = sprintf("INSERT INTO tbl_timerecords (fd_date, fd_client, fd_task, fd_hours, fd_description, fd_status, fd_notes, fd_user) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['fd_date'],"date"), GetSQLValueString($_POST['fd_client'], "text"), GetSQLValueString($_POST['fd_task'], "text"), GetSQLValueString($_POST['fd_hours'], "double"), GetSQLValueString($_POST['fd_description'], "text"), GetSQLValueString($_POST['fd_status'], "text"), GetSQLValueString($_POST['fd_notes'], "text"), GetSQLValueString($_POST['fd_user'], "text")); Quote Link to comment Share on other sites More sharing options...
rhodesa Posted January 29, 2009 Share Posted January 29, 2009 try changing this: GetSQLValueString($_POST['fd_date'],"date"), to GetSQLValueString(date('Y-m-d',strtotime($_POST['fd_date'])),"date"), Quote Link to comment Share on other sites More sharing options...
jaquelyn Posted January 29, 2009 Author Share Posted January 29, 2009 I actually tried that - Doesn't work at all, BUT just found the solution to my problem here: http://dreamweaverforum.info/dreamweaver-general/126952-send-text-entered-mm-dd-yyyy-mysql.html The code snippet to be added is: function UStoMySQL($date) { // split the date on forward slashes $parts = explode('/', $date); // if split successfully, rearrange in the MySQL order if (is_array($parts) && count($parts) == 3) { return "$parts[2]-$parts[0]-$parts[1]"; } else { return false; } } $_POST['fd_date'] = UStoMySQL($_POST['fd_date']); This should be added just above the "if ((isset($_POST..." line. Thanks! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.