Problème de l'input

vandouzen007 Messages postés 48 Date d'inscription lundi 21 octobre 2013 Statut Membre Dernière intervention 29 mars 2014 - Modifié par BunoCS le 21/10/2013 à 22:46
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 22 oct. 2013 à 08:12
Bonjour tout le monde,

j'ai ce code et ça marche bien! (code en php pour calculer le nombre de jours ouvrable entre 2 dates)!
Mon problème c'est que j'arrive pas à faire entrer à partir de l'input les date que je veux entrer!!

voiçi le code qui marche bien sans <form></form>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd]">
<html xmlns="[http://www.w3.org/1999/xhtml]">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>

<body>

<?php
// Fonction permettant de compter le nombre de jours ouvrés entre deux dates
function get_nb_open_days($date_start, $date_stop) {
$arr_bank_holidays = array(); // Tableau des jours feriés

// On boucle dans le cas où l'année de départ serait différente de l'année d'arrivée
$diff_year = date('Y', $date_stop) - date('Y', $date_start);
for ($i = 0; $i <= $diff_year; $i++) {
$year = (int)date('Y', $date_start) + $i;
//$years='2015';


// Liste des jours feriés
//$arr_bank_holidays[0] ny voloany
$arr_bank_holidays[] = '1_1_'.$year; // Jour de l'an //0
$arr_bank_holidays[] = '8_3_'.$year; // Journée mondial de la femme //1
$arr_bank_holidays[] = '29_3_'.$year; // Commémoration 29 Mars 1947 //2
$arr_bank_holidays[] = '1_5_'.$year; // Fete du travail //3
$arr_bank_holidays[] = '26_6_'.$year; // Independance de Madagascar //4
$arr_bank_holidays[] = '15_8_'.$year; // Assomption //5
$arr_bank_holidays[] = '14_10_'.$year; // COmmemoration 14 Octobre //6
$arr_bank_holidays[] = '1_11_'.$year; // Toussaint //7
$arr_bank_holidays[] = '25_12_'.$year; // Noel //8
$arr_bank_holidays[] = '31_12_'.$year; // Saint Sylvestre //9


// Récupération de paques. Permet ensuite d'obtenir le jour de l'ascension et celui de la pentecote
$easter = easter_date($year);
$arr_bank_holidays[] = date('j_n_'.$year, $easter + 86400); // Paques //10
$arr_bank_holidays[] = date('j_n_'.$year, $easter + (86400*40)); // Ascension //11
$arr_bank_holidays[] = date('j_n_'.$year, $easter + (86400*50)); // Pentecote //12
}
//print_r($arr_bank_holidays[10]);
//print_r($arr_bank_holidays[11]);
//print_r($arr_bank_holidays[12]);
$nb_days_open = 0;
// Mettre <= si on souhaite prendre en compte le dernier jour dans le décompte
while ($date_start < $date_stop) {
// Si le jour suivant n'est ni un dimanche (0) ou un samedi (6), ni un jour férié, on incrémente les jours ouvrés
if (!in_array(date('w', $date_start), array(0, 6))
&& !in_array(date('j_n_'.date('Y', $date_start), $date_start), $arr_bank_holidays)) {
$nb_days_open++;
}
$date_start = mktime(date('H', $date_start), date('i', $date_start), date('s', $date_start), date('m', $date_start), date('d', $date_start) + 1, date('Y', $date_start));
}
return $nb_days_open;
}

$date_depart = strtotime('2013-10-31');
$date_fin = strtotime('2013-11-04');

$nb_jours_ouvres = (get_nb_open_days($date_depart, $date_fin))+1;
echo 'Il y a '.$nb_jours_ouvres.' jours ouvrés entre le '.date('d/m/Y', $date_depart).' et le '.date('d/m/Y', $date_fin);
?>
</body>
</html>

je veux bien que $date_depart et $date_fin sont taper par l'utilisateur mais pas modifier le code comme cet exemple l'indique!

Quelqu'un pourra m'aider à résoudre cet problème!

Urgent, merci,

Cdlm,

7 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
21 oct. 2013 à 16:22
Bonjour,
Déjà, lorsque l'on poste du CODE, il faut utiliser la coloration syntaxique (première icone en haut à droite)
<?Php
//Exemple de code Mis en forme avec les balises de code !!
$date_depart = strtotime('2013-10-31');
$date_fin = strtotime('2013-11-04');
?>


Ensuite, je ne comprend pas votre question....
Actuellement, les dates de départ et de fin sont indiquées en "DUR" dans le programme...
Pour que vous puissiez les faire "modifier" par un utilisateur, il vous faut un formulaire avec des Input... là je n'en vois pas !

Lisez ceci :
http://www.commentcamarche.net/contents/793-php-recuperation-de-donnees


0
vandouzen007 Messages postés 48 Date d'inscription lundi 21 octobre 2013 Statut Membre Dernière intervention 29 mars 2014 1
21 oct. 2013 à 16:30
j'aimerai que la date sera entrer à partir de l'input de l'interface utilisateur!
Les deux dates sont maintenant entrer manuellement.
Plutôt, les dates se sont récupérer à partir de l'input
0
vandouzen007 Messages postés 48 Date d'inscription lundi 21 octobre 2013 Statut Membre Dernière intervention 29 mars 2014 1
21 oct. 2013 à 16:33
Récupérer les valeurs de l'input et en les remplacent par les dates début et fin
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
21 oct. 2013 à 16:36
Et donc.. de quels INPUT parlez vous ?
Je ne les vois pas dans votre code .....

Avez-vous lu le lien que je vous ai donné ?
0
laurent1133
21 oct. 2013 à 19:53
Peut être ceci t 'aidera à créer se que tu veux :

http://codes-sources.commentcamarche.net/source/55111-champs-et-formulaire-html-5
0

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

Posez votre question
vandouzen007 Messages postés 48 Date d'inscription lundi 21 octobre 2013 Statut Membre Dernière intervention 29 mars 2014 1
21 oct. 2013 à 19:58
j'ai pas mis les input ! A vrai dire je les enlevé
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
21 oct. 2013 à 22:47
Hello,
Je ne fais que passer. Je viens de rajouter les balises code (4e icone au-dessus de la zone de texte) dans ta demande.
Tu ne trouves pas qu'on gagne en lisibilité? ;)
Merci d'y penser la prochaine fois....
0
vandouzen007 Messages postés 48 Date d'inscription lundi 21 octobre 2013 Statut Membre Dernière intervention 29 mars 2014 1
22 oct. 2013 à 07:42
Bonjour! j'explique encore mon problème!
Sur ce code j'ai pas mis la
<form></form>
!
Mais j'ai envie de mettre de la
<form></form>
avec 3 inputs! Le premier est d'introduire la date de début, le 2èm pour la date fin et le 3èm pour le resultat(le nombre de jours compris entre les deux dates). Donc il faut que
$date_depart = strtotime($_POST['datedebut']); 
$date_fin = strtotime($_POST['datefin']);

au lieu de définir la date comme ceci
$date_depart = strtotime('2013-10-31'); 
$date_fin = strtotime('2013-11-04');


Pour plus d'information, n'hésitez pas à me poser des questions.

Merci,

Cdlm,
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
22 oct. 2013 à 08:12
Et quel est le souci ??
Tu sais ce que tu veux, tu semble connaitre le passage de variables par la méthode POST donc que veux tu de nous ?????
0
Rejoignez-nous