the strtotime() function uses the separator to indicate the date format.
If the separator is a dash, it assumes the European dd mm yyyy format is being used. If the separator is a slash, it assumes the US mm dd yyyy format is being used
if you pass in a UK date using a slash as the separator (23/02/1014), it will fail, or if you pass a US date with a dash (02-23-2014) as the separator it will fail.
If you want to format US dates with a dash, or UK dates with a slash, you will need to convert them in the strtotime() function.
so to pass a US date formatted with a dash, i would use str_replace to replace the dash with a slash:
<?php
if($_SERVER["REQUEST_METHOD"] == "POST") {
$_POST['date'] = "".((isset($_POST["date"]))?date("Y-m-d", strtotime(str_repalce("-", "/", $_POST["date"]))):"") ."";
}
?>