Votre question est un peu déroutante. Insérer des données "en les validant" n'a pas de sens.
Si vous voulez savoir comment insérer des données, c'est une question de base de MySQL qui est probablement mieux résolue en consultant le online documentation.
Si vous voulez savoir comment valider les données, vous devrez spécifier le type de validation que vous souhaitez - comme l'a fait Sanders. C'est un peu comme demander "comment puis-je faire une interface graphique?" Il y a des façons infinies de le faire. La question est trop vague.
Si vous voulez juste vérifier si la valeur soumise est une date valide, une manière rapide et sale (paresseuse) de le faire est juste de l'insérer dans la table (en supposant que vous avez une colonne du DATE/DATETIME type) , puis faites une requête de suivi pour récupérer la valeur stockée. Si la valeur enregistrée est la valeur "zéro" de ce type de données (c'est-à-dire '0000-00-00' ou '0000-00-00 00:00:00'), alors la valeur soumise n'était pas une date valide.
donc votre code ressemblerait à quelque chose comme:
<?
$month = mysql_real_escape_string($_POST['month']);
$day = mysql_real_escape_string($_POST['day']);
$year = mysql_real_escape_string($_POST['year']);
$query = "INSERT INTO my_table (`birthday`) VALUES ('$year-$month-$day')";
mysql_query($query);
$query = "SELECT `birthday` FROM my_table WHERE `id`=LAST_INSERT_ID()";
$qid = mysql_query($query);
$res = mysql_fetch_object($query);
if ($res->birthday == '0000-00-00') {
// submitted date was invalid
}
?>
Bien sûr, il y a de nombreux inconvénients du code ci-dessus. Idéalement, vous voulez probablement valider les données avant de les insérer, et si vous mettez à jour un enregistrement plutôt que d'en insérer un nouveau, vous devrez récupérer la valeur d'origine avant qu'elle ne soit écrasée par une valeur invalide.
BTW: Je pense que vous vouliez dire "liste déroulante" ou "liste de sélection". Un menu déroulant est autre chose.
C'est trompeur, ce n'est pas auto-validant de manière sécurisée. Quelqu'un pourrait facilement soumettre quelque chose qui n'est pas défini dans le code HTML et tenter d'exploiter votre requête. Ne comptez jamais sur un formulaire html/sélectionnez pour valider. –