Saisie date de naissance

Résolu
crazykamel Messages postés 103 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 30 avril 2007 - 20 juil. 2005 à 15:24
crazykamel Messages postés 103 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 30 avril 2007 - 20 juil. 2005 à 18:16
Salut à tous, je reposte içi paske j'ai toujours eu les réponses que je voulais ;)

Voilà, j'aimerais faciliter pour l'utilisateur la saisie de sa date de
naissance, et donc mettre en place des 3 listes déroulantes avec jour,
mois, et année.

Ca fait 2 heures que je cherche et j'arrive pas à trouver, si vous avez
un lien sur un script ou un script que vous utilisez vous même, je
serais votre meilleur ami

Cela m'évitera de faire les controles sur la validité de la date.

13 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 juil. 2005 à 15:34
Parce que bon :

<?php

$mois = array ('janvier', 'fevrier', 'mars'); // a completer

?>

<form action="" method="post">

<select name="jour">

<?php

for ($i = 1; $i < 32; $i ++) {

echo '<option value="',$i,'">',$i,'</option>';

}

?>

</select>

<select name="mois">

<?php

foreach ($mois as $num => $car) {

echo '<option value="',$num+1,'">',$car,'</option>';

}

?>

</select>

<select name="jour">

<?php

for ($i = 1940; $i < 2005; $i ++) {

echo '<option value="',$i,'">',$i,'</option>';

}

?>

</select>

</form>



fait a la va vite. A toi de l'ameliorer.

Il faudra de toutes facons verifier la validite de la date avec checkdate() la.

Et dans la plupart des cas...

sinon tu peux generer les bons jours en fonctions des mois avec les
fonctions date de php, mais il te faudra dans ce cas un onchange sur le
select mois. Le plus simple reste quand meme d'utiliser checkdate apres
saisie.
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 juil. 2005 à 16:56
Lol,



ah...il va falloir que tu apprennes, deja, comment on utilise un formulaire en php...



Une fois le formulaire soumis, on recupere les valeurs dans $_POST.

Tu ne pourras pas traiter les valeurs recuperees dans tes select sans
une soumission, donc ton code ne peut pas se trouver la ou il se trouve.

Faut un bouton submit aussi evidemment.

donc ton annee, la, sera dans $_POST['an'] par exemple. C'est avec ces variables que tu vas devoir jouer.

Ensuite pourquoi ajouter un - si c'est pour l'enlever de suite apres lol ??

Puis le remettre!

le champ date en mysql c'est yyyy-mm-dd il me semble.

donc tu dois avoir :

$madate = $_POST['an'].'-'.$_POST['mois'].'-'.$_POST['jour'];
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 juil. 2005 à 15:27
Hello,



quel est ton probleme au juste ? Tu veux un scrpt tout fait, ou tu ne parviens pas a le faire toi-meme ?
0
crazykamel Messages postés 103 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 30 avril 2007
20 juil. 2005 à 15:34
lol...heu ouais

En fait j'ai bricolé un truc comme ça mais ça me satisfait pas.



echo "<select name="jour" id="jour">";

for($i=1;$i<=31;$i++){

echo "<option value="$i">$i</option>";

}

echo "</select>";

echo "<select name="annee">";

for($j=1963;$j<=date("Y");$j++){

echo "<option value="$j" ".($j == 1980 ? "selected="selected"" : "").">$j</option>";

}

echo "</select>";

J'avais chopé une fois un script nikel avec ce que je voulais mais je
l'ai paumé. Je me suis dit que vous aviez un "modèle" pour tous les
formulaires que vous réalisiez.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 juil. 2005 à 15:34
Bon me suis plante pour le nom du dernier select, c'est evidemment "annee".
0
crazykamel Messages postés 103 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 30 avril 2007
20 juil. 2005 à 15:35
lol même pas le temps de poster ma réponse, rapide malalam !
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 juil. 2005 à 15:39
Lol. Bah desole mais je ne connais pas de script tout pret.

Et ca ne me parait pas tres complique a realiser en fait :-)

Ton script, il modifiat le nombre de jours disponibles selon les mois ? En dynamique ?
0
crazykamel Messages postés 103 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 30 avril 2007
20 juil. 2005 à 15:41
non, il proposait "lundi, mardi...", les mois, l'année, voilou, mais je crois kil faisait les controles sur les dates.
0
crazykamel Messages postés 103 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 30 avril 2007
20 juil. 2005 à 16:00
je te sollicite encore : comment récupérer la valeur des champs pour ensuite la saisir dans ma table mysql ?

ça passe ça ?



$date = '$madate='.$jour.'-'.$mois.'-'$an';

list($a,$m,$j)=explode("-",$madate);

$naissance="$j-$m-$a";
0
crazykamel Messages postés 103 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 30 avril 2007
20 juil. 2005 à 16:02
je te sollicite encore : comment récupérer la valeur des champs pour ensuite la saisir dans ma table mysql ?

ça passe ça ?



$date = '$madate='.$jour.'-'.$mois.'-'$an';

list($a,$m,$j)=explode("-",$madate);

$naissance="$j-$m-$a";
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 juil. 2005 à 16:13
Tiens t'es pas passe par les select lol ?



heu...je sais pas, essaye. OUi ca a L'air correct selon comment tu as fait ton compte avec le formulaire.
0
crazykamel Messages postés 103 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 30 avril 2007
20 juil. 2005 à 16:21
J'ai repris ton code ci dessus :



<?php

$mois = array ('janvier', 'fevrier', 'mars', 'avril', 'mai',
'juin', 'juillet','aout', 'septembre', 'octobre', 'novembre',
'decembre');

?>

<select name="jour">

<?php

for ($i = 1; $i < 32; $i ++) {

echo '<option value="',$i,'">',$i,'</option>';

}

?>

</select>

<select name="mois">

<?php

foreach ($mois as $num => $car) {

echo '<option value="',$num+1,'">',$car,'</option>';

}

?>

</select>

<select name="an">

<?php

for ($i = 1940; $i < 2005; $i ++) {

echo '<option value="',$i,'">',$i,'</option>';

}

//mon rajout mais qui marche pas, hem

$madate='.$jour.'-'.$mois.'-'$an';

list($a,$m,$j)=explode("-",$madate);

$naissance="$j-$m-$a";

?>



</select>
0
crazykamel Messages postés 103 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 30 avril 2007
20 juil. 2005 à 18:16
oui je sais pour les formulaires, je t'ai pas mis le tout le code, mais
sinon j'avais les submit et tout t'inquiètes. D'ailleurs pour mon truc
j'ai fais comme ça :



$an = $_POST['an'];

$jour = $_POST['jour'];

$mois = $_POST['mois'];



$naissance = $an.'-'.$mois.'-'.$jour;



ça passe nikel,

merci pour tout malalam
0