PHP
Résolu
lulu diana
-
lulu diana Messages postés 4 Date d'inscription Statut Membre -
lulu diana Messages postés 4 Date d'inscription Statut Membre -
Bonsoir,
j'ai un programme en php pour afficher la date du jour suivant pour une date tapée par l'utilisateur
j'ai esseyé, mais ça marche pas!
le code que j'ai tapé est:
<?php
$actuel = $_POST['demain'];
$dactuel = split("/",$actuel);
$jour = $ dactuel[0];
$mois = $ dactuel[1];
$ans = $ dactuel[2];
$nbj = array("0","31","28","31","30","31","30","31","31","30","31","30","31");
echo"le mois est:".$mois."<br>";
if($jour<$nbj[(int)$mois])
{
$jour= $jour+1;
}
else
if($jour==$nbj[(int)$mois])
{if($mois=="12")
{$mois="1";
$jour="1";
$ans= $ans+1;
}
else if($mois<"12")
{$jour="1";
$mois= $mois+1;
}
}
echo"le lendemain est le".$jour."-".$mois."-".$ans;
?>
j'espère que quelqu'un peut m'aider; merci d'avance
j'ai un programme en php pour afficher la date du jour suivant pour une date tapée par l'utilisateur
j'ai esseyé, mais ça marche pas!
le code que j'ai tapé est:
<?php
$actuel = $_POST['demain'];
$dactuel = split("/",$actuel);
$jour = $ dactuel[0];
$mois = $ dactuel[1];
$ans = $ dactuel[2];
$nbj = array("0","31","28","31","30","31","30","31","31","30","31","30","31");
echo"le mois est:".$mois."<br>";
if($jour<$nbj[(int)$mois])
{
$jour= $jour+1;
}
else
if($jour==$nbj[(int)$mois])
{if($mois=="12")
{$mois="1";
$jour="1";
$ans= $ans+1;
}
else if($mois<"12")
{$jour="1";
$mois= $mois+1;
}
}
echo"le lendemain est le".$jour."-".$mois."-".$ans;
?>
j'espère que quelqu'un peut m'aider; merci d'avance
Configuration: Windows XP Internet Explorer 7.0
5 réponses
-
Bonjour
Si tu ne disais ce qui ne marche pas (message d'erreur, comportement...) ça pourrait aider.
Et si tu ne mettais pas d'espace entre $ et dactuel[0]; ça pourrait mieux marcher -
Bonsoir,
une petite sol plus simple en passant par le timeqtamp UNIX (nbr de secondes écoulées depuis le premier janv 1970) pour une date
<?php $actuel = $_POST['demain']; $dactuel = split("/",$actuel); $jour = $ dactuel[0]; $mois = $ dactuel[1]; $ans = $ dactuel[2]; //calcul du timestamp du jour rentre a 0heure 0 min 0 sec $timestamp_actuel=mktime(0,0,0,$jour,$mois,$ans); //on y rajoute 3600*24=86400 sec $timestamp_demain=$timestamp_actuel+86400; //et on réaffiche la nouvelle date au format voulu echo "le lendemain est le ".date("d-m-Y",$timestamp_demain); ?> -
j'ai essayé vos suggestions mais pas de nouveau;
j'ai essayé de modifier le programme une autre fois mais le même résultat s'affiche-
il y a des espaces entre $ et le nom de variable
<?php
$actuel = $_POST['demain'];
$dactuel = split("/",$actuel);
$jour = $ dactuel[0];
$mois = $ dactuel[1];
$ans = $ dactuel[2];
<?php $actuel = $_POST['demain']; $dactuel = split("/",$actuel); $jour = $dactuel[0]; $mois = $dactuel[1]; $ans = $dactuel[2];
-
-
Je pense que ton formulaire envoie la date en faisant une méthode GET (celle par défaut).
Change $_POST par $_REQUEST ou $_GET, pour tester.-
- le code de la page qui appelle le script:
"<html>
<body>
<form action="date.php" method="post">
<div align="left">La date est:
<input type="date" name="La date est" size="20" value="jj/mm/aa">
</div>
<div align="center"><br>
<input type="submit" align="CENTER" value="demain">
</div>
</body>
</html>"
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour
Très bizarre, je ne connais pas le type date dans les formulaires, plutôt le type text. Et tu appelles ton champ "La date est" dans ton formulaire mais 'demain' dans ton traitement. Comment ça pourrait marcher ?
remplace
<input type="date" name="La date est" size="20" value="jj/mm/aa">
par
<input type="text" name="demain" size="20" value="jj/mm/aa">