O problema: Em um formulário havia um campo com data que deveria ir para um banco de dados MySQL, tal campo estava formatado com uma máscara via javascript a qual facilitava a vida do usuário na hora da digitação, porém, da forma que me entregaram a data não era inserida no banco de dados.

A solução: Cheguei na função explode() do PHP que faz exatamente isso que eu precisava, dividia os dados deste campo permitindo sua manipulação.

Abaixo segue o código completo do arquivo de exemplo formulario.php, embutido nele há o código em javascript que já cria a máscara dentro do campo “Data” para que o usuário digite somente os números de sua data de nascimento, sem os separadores e já no formato que desejarmos. Explico aqui que este trecho de código em javascript não é meu, portanto, além dos comentários que já estão nele ainda não posso dar maiores explicações a respeito do mesmo:

O código abaixo irá gerar um formulário semelhante a este:

<?php
/*
 *      formulario.php
 *      
 *      Copyright 2013 Alexsandro Felix <felix@ffelix.eti.br>
 *      
 *      This program is free software; you can redistribute it and/or modify
 *      it under the terms of the GNU General Public License as published by
 *      the Free Software Foundation; either version 2 of the License, or
 *      (at your option) any later version.
 *      
 *      This program is distributed in the hope that it will be useful,
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *      GNU General Public License for more details.
 *      
 *      You should have received a copy of the GNU General Public License
 *      along with this program; if not, write to the Free Software
 *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 *      MA 02110-1301, USA.
 */

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
	<title>Exemplo de Formulário</title>
	<meta http-equiv="content-type" content="text/html;charset=utf-8" />
	<meta name="author" content="Alexsandro Felix" />
	
	<script language="javascript" type="text/javascript">
		<!--
		function mascara(o,f){
			v_obj=o
			v_fun=f
			setTimeout("execmascara()",1)
		}
			
		function execmascara(){
			v_obj.value=v_fun(v_obj.value)
		}
		
		function soNumeros(v){
			return v.replace(/\D/g,"")
		}
		
		function tele(v){
			v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
			v=v.replace(/^(\d\d)(\d)/g,"($1) $2") //Coloca parênteses em volta dos dois primeiros dígitos
			v=v.replace(/(\d{4})(\d)/,"$1-$2") //Coloca hífen entre o quarto e o quinto dígitos
			return v
		}
		
		function cod_postal(v){
			v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
			v=v.replace(/^(\d{5})(\d)/,"$1-$2") //Esse é tão fácil que não merece explicações
			return v
		}
		
		function data(v){
			v=v.replace(/\D/g,"") //Remove tudo o que não é dígito
			v=v.replace(/(\d{2})(\d)/,"$1/$2") //Coloca hífen entre o quarto e o quinto dígitos
			v=v.replace(/(\d{2})(\d)/,"$1/$2") //Coloca hífen entre o quarto e o quinto dígitos
			return v
		}
		-->
	</script>
	
</head>

<body>
	<form action="script.php" method="post">
		Nome: <input type=text name=nome><br>
		Data de Nascimento: <input type="text" onkeypress="mascara(this,data)" name="data_nascimento" style="width:170px;" maxlength="10" /><br>
		<input type=submit value="OK">
	</form>
	
</body>

</html>

Imagino que seja óbvio de que não é necessário toooodo este código, eu coloco aqui na íntegra somente para demonstrar como estou fazendo uso do editor de textos Geany para gerar e editar todas as páginas em .html, .php e .css com que tenho trabalhado ultimamente, excelente editor de textos que tenho utilizado e que também está disponível para plataforma Windows.

Em minha opinião o Geany só fica atrás no Notepad++, mas em outra ocasião eu comento a respeito deles, vamos voltar ao assunto.

Em seguida crie um segundo arquivo, aqui no exemplo eu dei-lhe o nome de script.php:

<?php
/*
* script.php
*
* Copyright 2010 Alexsandro Felix <felix@ffelix.eti.br>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title>Exibição dos Dados</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="generator" content="Geany 0.14" />
<meta name="author" content="Alexsandro Felix" />
</head>

<body>

<?php
echo "<strong>Meu nome é:</strong> " . $_POST["nome"]."<br />";
echo "<strong>Data de nascimento completa: </strong>" . $_POST["data_nascimento"]."<br />";
$result = explode('/',$_POST["data_nascimento"]);
$cad_nasc_ano = $result[2];
$cad_nasc_mes = $result[1];
$cad_nasc_dia = $result[0];
echo "<p>Separando os dados fica assim:<br />";
echo "<strong>Dia:&nbsp;</strong>" . $cad_nasc_dia . "<br />";
echo "<strong>Mês:&nbsp;</strong>" . $cad_nasc_mes . "<br />";
echo "<strong>Ano:&nbsp;</strong>" . $cad_nasc_ano . "</p>";
$nascimento = $cad_nasc_ano.'-'.$cad_nasc_mes.'-'.$cad_nasc_dia;
echo "<strong>Mas na tabela MySQL os dados têm que ser inserido assim:&nbsp;</strong>" . $nascimento;
?>

</body>

</html>