Pb en PHP!!!
Résolu/Fermé
kunt45
Messages postés
124
Date d'inscription
mardi 3 février 2009
Statut
Membre
Dernière intervention
22 mars 2012
-
3 févr. 2009 à 08:56
kunt45 Messages postés 124 Date d'inscription mardi 3 février 2009 Statut Membre Dernière intervention 22 mars 2012 - 3 févr. 2009 à 19:56
kunt45 Messages postés 124 Date d'inscription mardi 3 février 2009 Statut Membre Dernière intervention 22 mars 2012 - 3 févr. 2009 à 19:56
A voir également:
- Pb en PHP!!!
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Php alert ✓ - Forum PHP
- Bouton php - Forum PHP
- Convertir php en pdf ✓ - Forum PDF
5 réponses
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
3 févr. 2009 à 09:08
3 févr. 2009 à 09:08
le problème est que tu définis ces deux variables dans des if
En interprétant le code, et comme il n'y a pas de else, le programme détermine qu'il y a une possibilité de passer dans aucun des if donc que tes deux variables ne soient pas déclarées!
Mon conseil pour y remédier :
utiliser le switch (voir http://www.manuelphp.com/php/control-structures.switch.php
puisque tu testes différentes valeurs pour une même variable $_POST['type'] et faire un "default:" en dessous du dernier case où tu mets les valeurs de tes variables dans le cas où on ne passe dans aucune condition (même si ce cas n'a pas forcément lieu!)
En interprétant le code, et comme il n'y a pas de else, le programme détermine qu'il y a une possibilité de passer dans aucun des if donc que tes deux variables ne soient pas déclarées!
Mon conseil pour y remédier :
utiliser le switch (voir http://www.manuelphp.com/php/control-structures.switch.php
puisque tu testes différentes valeurs pour une même variable $_POST['type'] et faire un "default:" en dessous du dernier case où tu mets les valeurs de tes variables dans le cas où on ne passe dans aucune condition (même si ce cas n'a pas forcément lieu!)
kunt45
Messages postés
124
Date d'inscription
mardi 3 février 2009
Statut
Membre
Dernière intervention
22 mars 2012
6
3 févr. 2009 à 18:42
3 févr. 2009 à 18:42
merci pour la reponse voila comment jai changer mon code:
<html>
<head></head>
<table border="1">
<tr>
<th>année</th>
<th>valeur net comptable debut exercice</th>
<th>montant amortissement</th>
<th>valeur net comptable fin d'exercice</th>
</tr>
<?php
$type=$_POST['type'];
switch ($type)
{
case "batimentadministratif":
$taux=0.25;
$duree=25;
break;
case "batimentindustriel":
$taux=0.20;
$duree=20;
break;
case "materielindustriel":
$taux=0.10;
$duree=10;
break;
case "materielbureau":
$taux=0.10;
$duree=10;
break;
case "Voiture":
$taux=0.05;
$duree=5;
break;
case "Ordinateur":
$taux=0.02;
$duree=2;
break;
}
$vnc=$_POST['base_amortissable'];
$annee=$_POST['annee_mise_en_service'];
$jours_restants=$_POST['jours_restant_annee_apres_mise_en_service'];
$nbre_ligne=1;
while($nbre_ligne<>$duree)
//for($i=1;$i=<$duree;$i++)
{
?>
<tr>
<td><?php $annee;?></td>
<td><?php $vnc;?></td>
<td><?php $montantamortissement=$vnc*$taux*$jours_restants/360;?></td>
<td><?php $vnc=$vnc-$montantamortissement;?></td>
</tr>
<?php
$annee=$annee+1;
$nbre_ligne=$nbre_ligne+1;
$jours_restants=360;
}
?>
<!--fin de la boucle-->
<?php
$jours_restants=$_POST['jours_restant_annee_apres_mise_en_service'];
if ($jours_restants<360)
{ ?>
<tr>
<td><?php $annee;?></td>
<td><?php $vnc;?></td>
<td><?php $montantamortissement=$vnc*$taux*$jours_restants/360;?></td>
<td><?php $vnc=$vnc-$montantamortissement;?></td>
</tr>
<?php
}
?>
</table>
</html>
mais apresent bizaremment... il ne rentre pas dans la boucle :s
decidement jarriverais jamais a finir a temps
merci de vos reponse ;)
<html>
<head></head>
<table border="1">
<tr>
<th>année</th>
<th>valeur net comptable debut exercice</th>
<th>montant amortissement</th>
<th>valeur net comptable fin d'exercice</th>
</tr>
<?php
$type=$_POST['type'];
switch ($type)
{
case "batimentadministratif":
$taux=0.25;
$duree=25;
break;
case "batimentindustriel":
$taux=0.20;
$duree=20;
break;
case "materielindustriel":
$taux=0.10;
$duree=10;
break;
case "materielbureau":
$taux=0.10;
$duree=10;
break;
case "Voiture":
$taux=0.05;
$duree=5;
break;
case "Ordinateur":
$taux=0.02;
$duree=2;
break;
}
$vnc=$_POST['base_amortissable'];
$annee=$_POST['annee_mise_en_service'];
$jours_restants=$_POST['jours_restant_annee_apres_mise_en_service'];
$nbre_ligne=1;
while($nbre_ligne<>$duree)
//for($i=1;$i=<$duree;$i++)
{
?>
<tr>
<td><?php $annee;?></td>
<td><?php $vnc;?></td>
<td><?php $montantamortissement=$vnc*$taux*$jours_restants/360;?></td>
<td><?php $vnc=$vnc-$montantamortissement;?></td>
</tr>
<?php
$annee=$annee+1;
$nbre_ligne=$nbre_ligne+1;
$jours_restants=360;
}
?>
<!--fin de la boucle-->
<?php
$jours_restants=$_POST['jours_restant_annee_apres_mise_en_service'];
if ($jours_restants<360)
{ ?>
<tr>
<td><?php $annee;?></td>
<td><?php $vnc;?></td>
<td><?php $montantamortissement=$vnc*$taux*$jours_restants/360;?></td>
<td><?php $vnc=$vnc-$montantamortissement;?></td>
</tr>
<?php
}
?>
</table>
</html>
mais apresent bizaremment... il ne rentre pas dans la boucle :s
decidement jarriverais jamais a finir a temps
merci de vos reponse ;)
kunt45
Messages postés
124
Date d'inscription
mardi 3 février 2009
Statut
Membre
Dernière intervention
22 mars 2012
6
3 févr. 2009 à 18:44
3 févr. 2009 à 18:44
ah et dans mon switch maintenant il y a un default: $taux=0; $duree=0;
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
3 févr. 2009 à 19:50
3 févr. 2009 à 19:50
Bonsoir,
pour afficher une variable il faut faire echo $variable
ensuite il faut faire un if formulaire posté
pour afficher une variable il faut faire echo $variable
ensuite il faut faire un if formulaire posté
<html> <head></head> <table border="1"> <tr> <th>année</th> <th>valeur net comptable debut exercice</th> <th>montant amortissement</th> <th>valeur net comptable fin d'exercice</th> </tr> <?php if(isset($_POST['nom_du_bouton_submit_du_formulaire'])){ $type=$_POST['type']; switch ($type) { case "batimentadministratif": $taux=0.25; $duree=25; break; case "batimentindustriel": $taux=0.20; $duree=20; break; case "materielindustriel": $taux=0.10; $duree=10; break; case "materielbureau": $taux=0.10; $duree=10; break; case "Voiture": $taux=0.05; $duree=5; break; case "Ordinateur": $taux=0.02; $duree=2; break; } $vnc=$_POST['base_amortissable']; $annee=$_POST['annee_mise_en_service']; $jours_restants=$_POST['jours_restant_annee_apres_mise_en_service']; $nbre_ligne=1; while($nbre_ligne < $duree) //for($i=1;$i=<$duree;$i++) { $montantamortissement=$vnc*$taux*$jours_restants/360; $vnc=$vnc-$montantamortissement; ?> <tr> <td><?php echo $annee;?></td> <td><?php echo $vnc;?></td> <td><?php echo $montantamortissement;?></td> <td><?php echo $vnc;?></td> </tr> <?php $annee++; $nbre_ligne++; $jours_restants=360; } ?> <!--fin de la boucle--> <?php $jours_restants=$_POST['jours_restant_annee_apres_mise_en_service']; if ($jours_restants<360) { $montantamortissement=$vnc*$taux*$jours_restants/360; $vnc=$vnc-$montantamortissement; ?> <tr> <td><?php echo $annee; ?></td> <td><?php echo $vnc; ?></td> <td><?php echo $montantamortissement; ?></td> <td><?php echo $vnc; ?></td> </tr> <?php } } ?> </table> </html>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
kunt45
Messages postés
124
Date d'inscription
mardi 3 février 2009
Statut
Membre
Dernière intervention
22 mars 2012
6
3 févr. 2009 à 19:56
3 févr. 2009 à 19:56
merci sa fonctionne!!!
enfin!!
merci a tous et bonne programmation!
enfin!!
merci a tous et bonne programmation!