aide pour facture sous php : Notice: Undefined index

Eléphanteau du PHP | 15 Messages

03 août 2012, 22:45

Bonjour,

je suis entrain de créer une page de facturation sous php. j'aimerais que le résultat (totalttc) s'affiche en fonction des choix : nombre d'heures et taux horaires. Je sais pas par ou commencer j'ai un message d'erreurs Notice: Undefined index:

voila mon code et merci d'avance les amis
<label>Durée d'intervention :</label><select name="heuresI">
<option value=00>00</option>
<option value="01" >01</option>
<option value="02" >02</option>
<option value="03" >03</option>
<option value="04" >04</option>
<option value="05" >05</option>
<option value="06" >06</option>
<option value="07" >07</option>
<option value="08" >08</option>
<option value="09" >09</option>
<option value="10" >10</option> 
</select> heure(s)
<select name="minutesI"><option value="00" >00</option>
<option value="15" >15</option>
<option value="30" >30</option>
<option value="45" >45</option>
</select> minute(s)<br><br>
<label>Taux horaire TTC :</label><input type="text" SIZE="1" name="txhoraire" value="55">
<br/><br/>
<label>TVA :</label>
<select name="tva">
		<option value="0.07" >7.00%</option>
		<option value="0.196" >19.60%</option>
		<option value="0.085" >8.50%</option>
		<option value="0.055" >5.50%</option>
		<option value="0.021" >2.10%</option></option></select>
		  soit <input type="text" STYLE="text-decoration:none;color:#1D980F" SIZE="10" name="soit"> Euros<br/><br/>
		
		<label>Total facture TTC :</label><input type="text" SIZE="33" STYLE="text-decoration:none;;color: #FF0000;" name="totalttc" readonly><br/><br/>		
	

<label>Mode de paiment :</label><select name="mode">
		<option value="cheque"> Cheque</option>
		<option value="espece" >Especes</option>
		<option value="VB" >Virement bancaire</option>
		<option value="CESU_p" >CESU préfinancé</option>
		<option value="CESU_décl" >CESU déclaré</option>
		</select><br/><br/>		
<label><input type="submit" value="Enregistrer" name="recfacture"></label><br><br>
</div>

<div id="modifier">
<t2>RECHERCHER UNE FACTURE</t2><br><br>
<label>Par nom client:</label> </font><input type="text" name="searchnom" style="width: 100px"><br>
<input type="submit" name="searchfact" value="Rechercher" style="width:100px"><br>
</div>

<?php

$h=$_POST['heuresI'];
$i=$_POST['minutesI'];
$tva=$_POST['tva'];
$txh=$_POST['txhoraire'];
$soit=$_POST['soit'];
$ttc=$_POST['totalttc'];
?>

ViPHP
xTG
ViPHP | 7331 Messages

04 août 2012, 09:19

<?php

$h=$_POST['heuresI'];
$i=$_POST['minutesI'];
$tva=$_POST['tva'];
$txh=$_POST['txhoraire'];
$soit=$_POST['soit'];
$ttc=$_POST['totalttc'];
?>
Lorsque tu accèdes au script la première fois le formulaire n'a pas été envoyé.
Donc toutes ces variables n'existent pas encore. ;)
Il faut mettre une condition pour lui dire qu'on les veut que quand le formulaire est soumis :
if( !empty($_POST) ){
  // traitement des variables envoyées
}

Eléphanteau du PHP | 15 Messages

04 août 2012, 13:00

merci xtg

<label>Durée d'intervention :</label><select name="heuresI">
<option value="">00</option>
<option value="01" >01</option>
<option value="02" >02</option>
<option value="03" >03</option>
</select> heure(s)
<select name="minutesI"><option value="" >00</option>
<option value="15" >15</option>
<option value="30" >30</option>
<option value="45" >45</option>
</select> minute(s)<br><br>
<label>Taux horaire TTC :</label><input type="text" SIZE="1" name="txhoraire" value="55">
<br/><br/>
<label>TVA :</label>
<select name="tva">
<option value="0.07" >7.00%</option>
<option value="0.021" >2.10%</option></option></select>
soit <input type="text" STYLE="text-decoration:none;color:#1D980F" SIZE="10" name="soit"> Euros<br/><br/>

<label>Total facture TTC :</label><input type="text" SIZE="33" STYLE="text-decoration:none;;color: #FF0000;" name="totalttc">

J'essaie ce code mais je ne comprens pas pkoi, le resultat ne s'affiche pas automatiquement?
<?php
if( !empty($_POST) )
{
 $h=$_POST['heuresI'];
$i=$_POST['minutesI'];
$tva=$_POST['tva'];
$txh=$_POST['txhoraire'];
$soit=$_POST['soit'];
$ttc=$_POST['totalttc'];

if ( $h>1)
{
$ttc=$h*$txh;
}
}
?>

ViPHP
xTG
ViPHP | 7331 Messages

04 août 2012, 13:39

Pour afficher une variable il faut utiliser la fonction echo :
$variable = 'test';
echo $variable; // test
echo 'Ceci est un ' . $variable; // Ceci est un test