Appeler une fonction php dans une page html

Par hdfs99, il y a 8 ans


Bonjour tt le monde,
j'ai une fonction php Cette fonction calcule la différence entre deux date en éliminant les jour ouvrier.
voila mon code:

<?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; // Liste des jours feriés $arr_bank_holidays[] = '1_1_'.$year; // Jour de l'an $arr_bank_holidays[] = '1_5_'.$year; // Fete du travail $arr_bank_holidays[] = '8_5_'.$year; // Victoire 1945 $arr_bank_holidays[] = '14_7_'.$year; // Fete nationale $arr_bank_holidays[] = '15_8_'.$year; // Assomption $arr_bank_holidays[] = '1_11_'.$year; // Toussaint $arr_bank_holidays[] = '11_11_'.$year; // Armistice 1918 $arr_bank_holidays[] = '25_12_'.$year; // Noel } //print_r($arr_bank_holidays); $nb_days_open = 0; 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 += 86400; } return $nb_days_open; } // Exemple : Du 11 au 15 juillet il n'y a qu'un jour ouvré (week-end + 1 jours férié) $date_depart = strtotime('2017-12-22'); $date_fin = strtotime('2017-12-28'); $nb_jours_ouvres = get_nb_open_days($date_depart, $date_fin); echo 'Il y a '.$nb_jours_ouvres.' jours ouvr&eacute;s entre le '.date('d/m/Y', $date_depart).' et le '.date('d/m/Y', $date_fin); ?>

Mon probleme ce que ma fonction a deux parameter et je veux appeler ma fonction dans un formalaire:

<form method="post" action="reservation.php" name="form1"> Date1 : <input type="text" name="date1" /><br /><br /> Date2 : <input type="text" name="date2" /><br /><br /> nombre jour : : <input type="text" name="jour" value="0" readonly /><br /><br /> <input type="button" value="calculer nb jour" /> </form></body></html>

Et merci

3 réponses

betaWeb, il y a 8 ans

Salut,

Il te faut récupérer les data dont tu as besoin que tu aura envoyé en POST via le tableau $_POST :

// Fais gaffe à bon check le format de date qui t'es renvoyé par le formulaire $date_start = isset($_POST['date1']) ? strtotime($_POST['date1']) : null; $date_end = isset($_POST['date2']) ? strtotime($_POST['date2']) : null; if (!is_null($date_start) && !is_null($date_end)) { $nb_jours_ouvres = get_nb_open_days($date_start, $date_end); }

Tout simplement :)

galyb, il y a 8 ans

Tu as enregistré ta page en php ? ^^

hdfs99, il y a 8 ans

j'ai enregistré tt la page en .php