Saisie date de naissance [Résolu]

crazykamel 103 Messages postés jeudi 16 juin 2005Date d'inscription 30 avril 2007 Dernière intervention - 20 juil. 2005 à 15:24 - Dernière réponse : crazykamel 103 Messages postés jeudi 16 juin 2005Date d'inscription 30 avril 2007 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

13 réponses

Meilleure réponse
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 20 juil. 2005 à 15:34
3
Merci
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.

Merci malalam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 100 internautes ce mois-ci

Commenter la réponse de malalam
Meilleure réponse
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 20 juil. 2005 à 16:56
3
Merci
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'];

Merci malalam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 100 internautes ce mois-ci

Commenter la réponse de malalam
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 20 juil. 2005 à 15:27
0
Merci
Hello,



quel est ton probleme au juste ? Tu veux un scrpt tout fait, ou tu ne parviens pas a le faire toi-meme ?
Commenter la réponse de malalam
crazykamel 103 Messages postés jeudi 16 juin 2005Date d'inscription 30 avril 2007 Dernière intervention - 20 juil. 2005 à 15:34
0
Merci
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.
Commenter la réponse de crazykamel
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 20 juil. 2005 à 15:34
0
Merci
Bon me suis plante pour le nom du dernier select, c'est evidemment "annee".
Commenter la réponse de malalam
crazykamel 103 Messages postés jeudi 16 juin 2005Date d'inscription 30 avril 2007 Dernière intervention - 20 juil. 2005 à 15:35
0
Merci
lol même pas le temps de poster ma réponse, rapide malalam !
Commenter la réponse de crazykamel
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 20 juil. 2005 à 15:39
0
Merci
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 ?
Commenter la réponse de malalam
crazykamel 103 Messages postés jeudi 16 juin 2005Date d'inscription 30 avril 2007 Dernière intervention - 20 juil. 2005 à 15:41
0
Merci
non, il proposait "lundi, mardi...", les mois, l'année, voilou, mais je crois kil faisait les controles sur les dates.
Commenter la réponse de crazykamel
crazykamel 103 Messages postés jeudi 16 juin 2005Date d'inscription 30 avril 2007 Dernière intervention - 20 juil. 2005 à 16:00
0
Merci
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";
Commenter la réponse de crazykamel
crazykamel 103 Messages postés jeudi 16 juin 2005Date d'inscription 30 avril 2007 Dernière intervention - 20 juil. 2005 à 16:02
0
Merci
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";
Commenter la réponse de crazykamel
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 20 juil. 2005 à 16:13
0
Merci
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.
Commenter la réponse de malalam
crazykamel 103 Messages postés jeudi 16 juin 2005Date d'inscription 30 avril 2007 Dernière intervention - 20 juil. 2005 à 16:21
0
Merci
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>
Commenter la réponse de crazykamel
crazykamel 103 Messages postés jeudi 16 juin 2005Date d'inscription 30 avril 2007 Dernière intervention - 20 juil. 2005 à 18:16
0
Merci
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
Commenter la réponse de crazykamel

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.