Page 1 sur 1

php date de naissance

Posté : 06 avr. 2014, 20:28
par aide
bonjour
je suis en train de créer un formulaire où je demande la date de naissance, que dois je écrire comme code pour que quand la personne inscrit sa date de naissance cela rentre dans ma base de donnée phpmyadmin que j'ai crée? (et que cela soit date valide aussi)

Merci
Bonne soirée

Re: php date de naissance

Posté : 06 avr. 2014, 21:07
par cris84
Salut

tu peux faire ceci avant d'insérer la date dans ta base :
<?php

if(isset($_POST['annee']) && isset($_POST['mois']) && isset($_POST['jour'])
&& checkdate($_POST['mois'], $_POST['jour'], $_POST['annee'])) {
$date_naissance = $_POST['annee'].'-'.$_POST['mois'].'-'.$_POST['jour']; ?>

Puis l'insertion dans ta base :
<?php

mysql_query('INSERT INTO xxxx (date_naissance et autres...) VALUES ( "'.$date_naissance.'"'); ?>

et le formulaire :
 <label for="date_naissance">Date d'anniversaire : </label>
  <select name="jour">
  <option value="0">Jour</option>
    <?php
      for ($i = 1; $i <= 31; $i++)
      {
        echo '<option value="' . $i . '">' . $i . '</option>';
      }
    ?>
</select>
 
 <select name="mois" size="1">
<option value="01">Janvier</option><option value="02">Février</option><option value="03">Mars</option><option value="04">Avril</option><option value="05">Mai</option><option value="06">Juin</option><option value="07">Juillet</option><option value="08">Août</option><option value="09">Septembre</option><option value="10">Octobre</option><option value="11">Novembre</option><option value="12">Décembre</option></select>
 
<select name="annee">
  <option value="0">Année</option>
    <?php
      for ($i = 2014; $i >= 1930; $i--)
      {
        echo '<option value="' . $i . '">' . $i . '</option>';
      }
    ?>
</select>

Re: php date de naissance

Posté : 07 avr. 2014, 00:05
par aide
bonsoir,
merci pour votre réponse.
J'ai crée une nouvelle vdd juste pour la date de naissance pour tester
et j'ai créer un ficher php ou j'ai copié votre code

<form name="date" action="no.php" method="POST">
          		
 <label for="date_naissance">Date d'anniversaire : </label>
  <select name="jour">
  <option value="0">Jour</option>
    <?php
      for ($i = 1; $i <= 31; $i++)
      {
        echo '<option value="' . $i . '">' . $i . '</option>';
      }
    ?>
</select>
 
 <select name="mois" size="1">
<option value="01">Janvier</option><option value="02">Février</option><option value="03">Mars</option><option value="04">Avril</option><option value="05">Mai</option><option value="06">Juin</option><option value="07">Juillet</option><option value="08">Août</option><option value="09">Septembre</option><option value="10">Octobre</option><option value="11">Novembre</option><option value="12">Décembre</option></select>
 
<select name="annee">
  <option value="0">Année</option>
    <?php
      for ($i = 2014; $i >= 1930; $i--)
      {
        echo '<option value="' . $i . '">' . $i . '</option>';
      }
    ?>
    
    
    <input type="submit" value="inscrit" name="submit">
</select>


<?php
$connect=mysql_connect('localhost','root','root') or die ('Error');
mysql_select_db('NO');
$query=mysql_query("INSERT INTO NO VALUES ('.$date_naissance.')"); ?>
j'ai bien tout qui s'affiche, quand je vais sur le dossier php que je met une date au hasard sur ma bdd cela me donne toujours

date
0000-00-00


et je n'ai pas compris ce code
Code php
<?php

if(isset($_POST['annee']) && isset($_POST['mois']) && isset($_POST['jour'])
&& checkdate($_POST['mois'], $_POST['jour'], $_POST['annee'])) {
$date_naissance = $_POST['annee'].'-'.$_POST['mois'].'-'.$_POST['jour']; ?>
en tout cas quand je colle sur le reste cela me met une page blanche

Re: php date de naissance

Posté : 07 avr. 2014, 09:13
par sirakawa
Il existe :
<input type = 'date' /> qui fonctionne :
http://www.alsacreations.com/tuto/lire/ ... local.html
ou mettre un datepicker http://jqueryui.com/datepicker/

Re: php date de naissance

Posté : 07 avr. 2014, 10:11
par cris84
oui pour l'insérer dans la base il faut déjà que le champ date_naissance soit de type date.

Puis pour l'affichage il faut faire :

<?php echo  date("d/m/Y", strtotime($donnees['date_naissance'])); ?>