Formulaire de congés avec calcul des jours ouvrés

Soyez le premier à donner votre avis sur cette source.

Vue 74 342 fois - Téléchargée 3 175 fois

Description

Bonjour a tous,

Voila le premier code que je poste sur phpcs donc soyez indulgents :-)

J'ai développé ce petit formulaire pour l'intranet de mon entreprise. Il s'agit d'un formulaire de demande de congés automatique.

Mode d'emploi :
- Vous cliquez dans un champ texte, un calendrier s'affiche et vous choisissez la date de début de congés, puis vous faites de meme avec la date de fin de congés. Vous entrez le nom de l'employé et vous cliquez sur valider.
--> Une page imprimable se génère affichant toutes les informations nécessaires : Date, nom de l'employé et nombre de jours pris en excluant les samedis, dimanches et jours fériés fixes et variables.

Il n'est pas possible de prendre deux type de congés pour la même fiche.

Si vous avez des questions ou des remarques, elles sont les bienvenues compte tenu que je suis encore débutant en php.

J'espere qu'il servira a bon nombre d'entre vous car, même si il parait simple, il a été assez long a réaliser pour moi.

Conclusion :


J'ai enlevé tout le design et la mise en page car elle est reservée à mon entreprise. Donc désolé c'est un peu basique mais le code est là et c'est le principal :-)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

jdalton42
Messages postés
213
Date d'inscription
samedi 25 décembre 2004
Statut
Membre
Dernière intervention
19 août 2009
-
Rien à dire sa a l'air pas mal... pas encore testé mais bon... hum si juste une chose, met le niveau de la source en débutant plutôt que en initié :p ;)

voilà bye
kiki2sirom
Messages postés
153
Date d'inscription
mardi 17 août 2004
Statut
Membre
Dernière intervention
23 décembre 2010
-
ET BIM !
y a du taf , fou yaya, je commence..... :
* déjà ta page formulaire pourrait s'appeler form.html, non ? (où se trouve le php là-dedans)
* ton HTML est CATASTROPHIQUE : où sont les balises DOCTYPE, body, html, head......
essaye de regarder comment se construit un document HTML, damn !!
* un tableau en HTML c'est :
au minimum, et toi là tu as des <tr> qui s'ouvrent et qui ne se ferment pas...
*une seule <form> globale utile, parce qu'autant de formes que de types de congés, c'est de l'abus quand même là....
* sur le validateur HTML du W3C : 32 erreurs juste sur la page form.php
*
et non

/////////////////////////////////////////////////
* je passe au côté javascript (il est où celui-là ??) : il te faut tester si une date1 et une date2 a été remplie et si date1<=date2 quand tu cliques sur "Valider", d'où le besoin du Javascript, tester 2 dates, c'est pas bien compliqué en plus, parce que sinon sur ta page php, je te raconte même pas le binz
////////////////////////////////////////////////
passons côté PHP, je ne pense pas être déçu non plus :
entres autres parce que c'est vraiment trop bordélique :
* <?php en lieu et place de <? pour une histoire de compatibilité de ton code
* pourquoi tu calcules à chaque type de congés le nombre de jours fériés ??? ils vont changer selon que tu vas prendre congés payés ou RTT ??? de plus l'idée de faire une fonction pour récupérer les jours fériés, pourquoi pas, une fonction est réutilisable, tu la mets en dehors de ton 1er if, par exemple...
*
par exemple pour optimiser ça :
// Calcul du jour de pâques
$date_paques = easter_date($annee);
$jour_paques = date("d", $date_paques);
$mois_paques = date("m", $date_paques);
if($jour_paques $jour && $mois_paques $mois) $nbFerie++;
tu peux faire ça:
if (($mois==date("n", easter_date($annee)+1*$jour))&& ($jour==date("j", easter_date($annee)+1*$jour)))

Tout est optimisable, surtout, tout est à refaire, désolé de te l'apprendre.

Je m'arrête là parce que bon, j'ai pas le temps de tout voir, VRAIMENT !!!

Cordialement

kiki2sirom
abazerquebacha
Messages postés
1
Date d'inscription
mercredi 17 mai 2006
Statut
Membre
Dernière intervention
17 mai 2006
-
C'est un bon début.
Il y a des erreurs par exemple dans
priseconges.php
precisions:
+++++++++++++++++++++++++++++++++++++++++++++
if($jour_semaine 0 || $jour_semaine 6) $nbJoursEcoule++;
//Samedi (6) et dimanche (0)

// Définition des dates fériées fixes
elseif($jour 01 && $mois 01) $nbJoursEcoule++; // 1er janvier
elseif($jour 01 && $mois 05) $nbJoursEcoule++; // 1er mai
elseif($jour 08 && $mois 05) $nbJoursEcoule++; // 8 mai
elseif($jour 14 && $mois 07) $nbJoursEcoule++; // 14 juillet
elseif($jour 15 && $mois 08) $nbJoursEcoule++; // 15 aout
elseif($jour 01 && $mois 11) $nbJoursEcoule++; // 1 novembre
elseif($jour 11 && $mois 11) $nbJoursEcoule++; // 11 novembre
elseif($jour 25 && $mois 12) $nbJoursEcoule++; // 25 décembre

// Jour de pâques
elseif($jour_paques $jour && $mois_paques $mois) $nbJoursEcoule++;
// Pâques

// Jour de l ascension (38 jours après Paques)
elseif($jour_ascension $jour && $mois_ascension $mois) $nbJoursEcoule++;
//Ascension
+++++++++++++++++++++++++++++++++++++++++++++

Sinon, le calcul est erronné. Un jour ferié qui tomberait un dimanche (par exemple) serait comptabilisé 2 fois.

Ca peut-être cool pour les employés (le jour ferié ne serait pas perdu).

Sinon, c'est un beau début.
Practice makes perfect

Cordialement
cs_dypa
Messages postés
1
Date d'inscription
lundi 8 février 2010
Statut
Membre
Dernière intervention
11 février 2010
-
l'idée est bonne des modifications à apporter sur le code html est à revoir
utilisation des fonctions réutilisables serai mieux
mais l'idée est bonne
jo9ali
Messages postés
2
Date d'inscription
lundi 16 janvier 2012
Statut
Membre
Dernière intervention
2 février 2012
-
bounjour a tous
je me demande s'il ya qlq1 qui a cette application sure vb.net (vs2010)
merci :D

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.