problème de fonction et valeurs retournées
Posté : 29 mai 2012, 11:02
Bonjour à tous j'ai créé la fonction sous jacente et souhaité récupérer les valeurs nécessaires via un array:
voici le code pour l'injection:
donc je ne comprends pas.
si quelqu'un pouvait éclairer ma lanterne,
d'avance merci.
<?php function honoraires($p1,$p2,$p3,$p4,$t1,$t2,$t3,$principal2,$type,$versement,$acompte)
{
if ($type=="d")
{
if($versement=="0" AND $acompte <= $p1)
{
$reste1=$acompte;
$pc=($t1/100);
$taux1=$pc+1;
$h1=(($reste1*$taux1)-$reste1);
$honoraires=$h1;
}
elseif(($versement)<=$p1 AND ($versement+$acompte)<=$p1)
{
$reste1=$acompte;
$pc=($t1/100);
$taux1=$pc+1;
$h1=(($reste1*$taux1)-$reste1);
$honoraires=$h1;
}
elseif($versement<=$p1 AND ($versement+$acompte)>=$p2)
{
$reste1=$p1-$versement;
$pc=($t1/100);
$taux1=$pc+1;
$h1=(($reste1*$taux1)-$reste1);
$reste2=$acompte-$reste1;
$pc2=($t2/100);
$taux2=$pc2+1;
$h2=(($reste2*$taux2)-$reste2);
$honoraires=($h1+$h2);
}
elseif($versement=="0" AND $acompte>=$p2 AND $acompte<=$p3)
{
$reste2=$acompte-$p1;
$reste1=$p1;
$pc=($t1/100);
$taux1=$pc+1;
$h1=(($reste1*$taux1)-$reste1);
$pc2=($t2/100);
$taux2=$pc2+1;
$h2=(($reste2*$taux2)-$reste2);
$honoraires=($h1+$h2);
}
elseif($versement<=$p3 AND $versement>=$p2 AND ($versement+$acompte)>=$p2 AND ($versement+$acompte)<=$p3)
{
$reste1=$acompte;
$pc=($t2/100);
$taux1=$pc+1;
$h1=(($reste1*$taux1)-$reste1);
$honoraires=$h1;
}
elseif($versement>=$p2 AND $versement<=$p3 AND ($versement+$acompte)>=$p4)
{
$reste1=$p4-$versement;
$pc=($t2/100);
$taux=$pc+1;
$h1=(($reste1*$taux)-$reste1);
$reste2=$acompte-$reste1;
$pc2=($t3/100);
$taux2=$pc2+1;
$h2=(($reste2*$taux2)-$reste2);
$honoraires=($h1+$h2);
}
elseif($versement=="0" AND $acompte>=$p4)
{
$reste1=$p1;
$reste2=$p3-$p2;
$pc=($t1/100);
$taux1=$pc+1;
$h1=(($reste1*$taux1)-$reste1);
$pc2=($t2/100);
$taux2=$pc2+1;
$h2=(($reste2*$taux2)-$reste2);
$reste3=($acompte-$reste1-$reste2);
$pc3=($t3/100);
$taux3=$pc3+1;
$h3=(($reste3*$taux3)-$reste3);
$honoraires=($h1+$h2+$h3);
}
elseif($versement>=$p4)
{
$reste3=$acompte;
$pc3=($t3/100);
$taux3=$pc3+1;
$h3=(($reste3*$taux3)-$reste3);
$honoraires=($h3);
}
$param =array($honoraires,$h1,$h2,$h3,$taux1,$taux2,$taux3);
return $param;
//et après dans ta page
if (isset($_POST['go'])) {
$param = honoraires($p1,$p2,$p3,$p4,$t1,$t2,$t3,$principal2,$type,$versement,$acompte);
$honoraires = $param[0];
$h1 = $param[1];
$h2 = $param[2];
$h3 = $param[3];
$taux1 = $param[4];
$taux2 = $param[5];
$taux3 = $param[6];
}
}
}
?>
le soucis c'est que lorsque je récupère tout pour injection dans mysql, il me dit que toutes les variables sont indéfinies:voici le code pour l'injection:
<?php
if (isset($_POST['go'])) {
$b = date_create($_POST['date_reception']);
$c = date_format($b, 'Y/m/d');
$sql = 'INSERT INTO versements SET
n_doss = "'.mysql_real_escape_string($_GET['n_doss']).'",
date_reception = "'.mysql_real_escape_string($c).'",
mode = "'.mysql_real_escape_string($_POST['mode']).'",
montant = "'.mysql_real_escape_string($acompte).'",
honoraires = "'.$honoraires.'",
taux1 = "'.$taux1.'",
taux2 = "'.$taux2.'",
taux3 = "'.$taux3.'",
h1 = "'.$h1.'",
h2 = "'.$h2.'",
h3 = "'.$h3.'",
pd= "'.mysql_real_escape_string($_POST['pd']).'"
' ;
mysql_query($sql) or die(__LINE__.mysql_error().$sql);
?>
j'ai le droits a tous les messages de type undefined vardonc je ne comprends pas.
si quelqu'un pouvait éclairer ma lanterne,
d'avance merci.