Amelioration de mon codage

audi68 Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   -  
audi68 Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j aimerais savoir ce que vous pensez de mon codage et l ameliorer

il s agit d un exercice script pour la gestion d une micro entreprise

le personel de la micro entreprise rentre le nom du client, les heures de travail le personnel sur place ainsi que les machines utilisé et lui informe le cout de chaque personne ainsi que le couts des machines.

Par contre sur se dernier je bloque je ne sais pas comment aditionner des chiffre provenant d une requete

ci joint le code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>

<body>

<?php
//recuperation des horraire
$nom=$_GET['Nom'];
$h1=$_GET['Heure'];
$h2=$_GET['Heure2'];
$h3=$_GET['Heure3'];
$h4=$_GET['Heure4'];

//recuperation du personnels
$steve=$_GET['Steve'];
$kevin=$_GET['Kevin'];
$guillaume=$_GET['Guillaume'];



//recuperation prix heure
$phsteve=$_GET['phSteve'];
$phkevin=$_GET['phKevin'];
$phguillaume=$_GET['phGuillaume'];

//calcul des heures
$ht1=$h2-$h1;
$ht2=$h4-$h3;
//heure total journee
$ht=$ht1+$ht2;

//calucl total personnel

//Si la variable steve est vide
if(empty($steve))
{

}
//Sinon si la variable est strictement égal à la personne alors on fait le calcul
else if($steve == "$steve")
{
$Stevetotal = $phsteve*$ht;
}


//Si la variable kevin est vide
if(empty($kevin))
{

}
//Sinon si la variable est strictement égal à la personne alors on fait le calcul
else if($kevin == "$kevin")
{
$Kevintotal = $phkevin*$ht;
}

//Si la variable guillaume est vide
if(empty($guillaume))
{

}
//Sinon si la variable est strictement égal à la personne alors on fait le calcul
else if($guillaume == "$guillaume")
{
$Guillaumetotal = $phguillaume*$ht;
}



echo "Matin $ht1 <br> apres midi $ht2 <br>";

echo'<h1>Personnels</h1>';
//Si la variable stevetotal est vide
if(empty($Stevetotal))
{

}
//Sinon si la variable est strictement égal à la stevetotal alors on affiche la ligne
else if($Stevetotal == "$Stevetotal")
{
echo ' Steve : '.$Stevetotal.' € <br>';
}
//Si la variable stevetotal est vide
if(empty($Kevintotal))
{

}
//Sinon si la variable est strictement égal à la stevetotal alors on affiche la ligne
else if($Kevintotal == "$Kevintotal")
{
echo ' Kevin : '.$Kevintotal.' € <br>';
}
//Si la variable stevetotal est vide
if(empty($Guillaumetotal))
{

}
//Sinon si la variable est strictement égal à la stevetotal alors on affiche la ligne
else if($Guillaumetotal == "$Guillaumetotal")
{
echo ' Guillaume : '.$Guillaumetotal.' € <br>';
}
$totlapersonnel = $Stevetotal+$Kevintotal+$Guillaumetotal;

echo' <p>Total personnels '.$totlapersonnel.' €</p>';

require "config.php";
echo'<h1>Machines</h1>';
$reponse = mysql_query(" SELECT * FROM stevo_liste WHERE Designation = 'Machines'")or die(mysql_error()); // Requête SQL


// On fait une boucle pour lister tout ce que contient la table :

while ($donnees = mysql_fetch_array($reponse) )
{


$donnees["Nom"]=$_GET[$donnees["Nom"]];

//Si la variable guillaume est vide
if(empty($donnees["Nom"]))
{

}
//Sinon si la variable est strictement égal à la personne alors on fait le calcul
else if($donnees["Nom"] == $donnees["Nom"])
{
echo' '.$donnees['Nom'].': '.$donnees['Prix'].'€<br> ';
$totalmachines = $donnees['Prix']; //ici je bloque
}
echo'<p>'.$totalmachines.'</p>'; //ici resultat faux
}
mysql_close();


?>
</body>
</html>

merci de votre aide


7 réponses

Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
Epurage :
//Si la variable kevin est vide  
if(empty($kevin))  
{  

}  
//Sinon si la variable est strictement égal à la personne alors on fait le calcul  
else  
{  
$Kevintotal = $phkevin*$ht;  
} 

Deviens :
if($kevin) $Kevintotal = $phkevin*$ht; 


C'est valable pour les autres else de la même forme :D

Chipotage :
Ta requête :
SELECT * FROM stevo_liste WHERE Designation = 'Machines'"

le select *, c'est pas top, il faut mieux indiquer seulement les champs nécessaires, même si tu as besoin de tout les champs, utiliser * nécessite une 'requête' de plus pour le serveur afin de récupérer lui-même le nom des tables.


Sécurité :
$nom=$_POST['Nom'];  
$h1=$_POST['Heure'];  
$h2=$_POST['Heure2'];  
$h3=$_POST['Heure3'];  
$h4=$_POST['Heure4'];  

 
$nom=strip_tags($_POST['Nom']);  
$h1=intval($_POST['Heure']); 
(intval() ne doit être utiliser que si tu attends un chiffre/nombre entiers, sinon, utilise floatval)
1
audi68 Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   9
 
merci de ta reponse

niveau securite strip_tags permet de faire quoi? et intval?

Pour la requete sql j enleve le * a la fin lorsque j aurais toutes les tables

Par contre pour adiidtion les prix de ma reque je bloque toujours

$totalmachines = $donnees['Prix'];

je souhaite aditionner tous les prix de mes machines selectionné



ci joint le code modifier

<?php
//recuperation des horraire
$nom=strip_tags($_POST['Nom']);
$h1=floatval($_POST['Heure']);
$h2=floatval($_POST['Heure2']);
$h3=floatval($_POST['Heure3']);
$h4=floatval($_POST['Heure4']);

//recuperation du personnels
$steve=strip_tags($_POST['Steve']);
$kevin=strip_tags($_POST['Kevin']);
$guillaume=strip_tags($_POST['Guillaume']);



//recuperation prix heure
$phsteve=strip_tags($_POST['phSteve']);
$phkevin=strip_tags($_POST['phKevin']);
$phguillaume=strip_tags($_POST['phGuillaume']);

//calcul des heures
$ht1=$h2-$h1;
$ht2=$h4-$h3;
//heure total journee
$ht=$ht1+$ht2;

//calucl total personnel

//Si la variable steve existe alors on fait le calcul
if ($steve) $Stevetotal = $phsteve*$ht;

//Si la variable kevin existe alors on fait le calcul
if($kevin) $Kevintotal = $phkevin*$ht;

//Si la variable guillaume existe alors on fait le calcul
if($guillaume)$Guillaumetotal = $phguillaume*$ht;

echo "Matin $ht1 <br> apres midi $ht2 <br>";

echo'<h1>Personnels</h1>';
//Si la variable stevetotal existe alors on affiche la ligne
if ($Stevetotal) echo ' Steve : '.$Stevetotal.' € <br>';

//Si la variable stevetotal existe alors on affiche la ligne
if ($Kevintotal) echo ' Kevin : '.$Kevintotal.' € <br>';

//Si la variable stevetotal existe alors on affiche la ligne
if ($Guillaumetotal) echo ' Guillaume : '.$Guillaumetotal.' € <br>';

$totlapersonnel = $Stevetotal+$Kevintotal+$Guillaumetotal;

echo' <p>Total personnels '.$totlapersonnel.' €</p>';

require "config.php";
echo'<h1>Machines</h1>';
$reponse = mysql_query(" SELECT * FROM stevo_liste WHERE Designation = 'Machines'")or die(mysql_error()); // Requête SQL


// On fait une boucle pour lister tout ce que contient la table :

while ($donnees = mysql_fetch_array($reponse) )
{


$donnees["Nom"]=strip_tags($_POST[$donnees["Nom"]]);

//Si la variable existe alors on affiche la ligne
if ($donnees["Nom"]) echo' '.$donnees['Nom'].': '.$donnees['Prix'].'€<br> ';
$totalmachines = $donnees['Prix'];

echo'<p>'.$totalmachines.'</p>';

}
mysql_close();


?>

Merci de votre aide
0
Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
else if($steve == "$steve") 

Tu demande une comparaison sur les deux même variables, c'est étrange.
un simple else suffirai.
0
audi68 Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   9
 
merci de ta reponse

oui effectivement c est plus simple

Sinon je peux ameliorer autre chose?

Et pour aditionner ma requete?

Merci
0
Utilisateur anonyme
 
petit détail : depuis l'arrivé du html 5 tu peux pour le doctype et header écrire tout simplement :
<!DOCTYPE html>
<html>
    <head>
          <meta charset="utf-8">
          <title>Titre</title>
   </head>

Sinon je te conseil d'utiliser POST au lieu de GET, cela permettra à ton url d'être un peu plus propre lol.

Bonne continuation.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
audi68 Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   9
 
merci de ta reponse je suis passe en POST

Sinon niveau addition personne ne peux m aider

Merci
0
Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
Déjà, repost ton code remis à jours, qu'on y vois plus clair sur ce que tu as fait :D
0
audi68 Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   9
 
ci joint mon code modifié

<?php
//recuperation des horraire
$nom=$_POST['Nom'];
$h1=$_POST['Heure'];
$h2=$_POST['Heure2'];
$h3=$_POST['Heure3'];
$h4=$_POST['Heure4'];

//recuperation du personnels
$steve=$_POST['Steve'];
$kevin=$_POST['Kevin'];
$guillaume=$_POST['Guillaume'];



//recuperation prix heure
$phsteve=$_POST['phSteve'];
$phkevin=$_POST['phKevin'];
$phguillaume=$_POST['phGuillaume'];

//calcul des heures
$ht1=$h2-$h1;
$ht2=$h4-$h3;
//heure total journee
$ht=$ht1+$ht2;

//calucl total personnel

//Si la variable steve est vide
if(empty($steve))
{

}
//Sinon si la variable est strictement égal à la personne alors on fait le calcul
else
{
$Stevetotal = $phsteve*$ht;
}


//Si la variable kevin est vide
if(empty($kevin))
{

}
//Sinon si la variable est strictement égal à la personne alors on fait le calcul
else
{
$Kevintotal = $phkevin*$ht;
}

//Si la variable guillaume est vide
if(empty($guillaume))
{

}
//Sinon si la variable est strictement égal à la personne alors on fait le calcul
else
{
$Guillaumetotal = $phguillaume*$ht;
}



echo "Matin $ht1 <br> apres midi $ht2 <br>";

echo'<h1>Personnels</h1>';
//Si la variable stevetotal est vide
if(empty($Stevetotal))
{

}
//Sinon si la variable est strictement égal à la stevetotal alors on affiche la ligne
else
{
echo ' Steve : '.$Stevetotal.' € <br>';
}
//Si la variable stevetotal est vide
if(empty($Kevintotal))
{

}
//Sinon si la variable est strictement égal à la stevetotal alors on affiche la ligne
else
{
echo ' Kevin : '.$Kevintotal.' € <br>';
}
//Si la variable stevetotal est vide
if(empty($Guillaumetotal))
{

}
//Sinon si la variable est strictement égal à la stevetotal alors on affiche la ligne
else
{
echo ' Guillaume : '.$Guillaumetotal.' € <br>';
}
$totlapersonnel = $Stevetotal+$Kevintotal+$Guillaumetotal;

echo' <p>Total personnels '.$totlapersonnel.' €</p>';

require "config.php";
echo'<h1>Machines</h1>';
$reponse = mysql_query(" SELECT * FROM stevo_liste WHERE Designation = 'Machines'")or die(mysql_error()); // Requête SQL


// On fait une boucle pour lister tout ce que contient la table :

while ($donnees = mysql_fetch_array($reponse) )
{


$donnees["Nom"]=$_POST[$donnees["Nom"]];

//Si la variable guillaume est vide
if(empty($donnees["Nom"]))
{

}
//Sinon si la variable est strictement égal à la personne alors on fait le calcul
else
{
echo' '.$donnees['Nom'].': '.$donnees['Prix'].'€<br> ';
$totalmachines = $donnees['Prix'];
}
echo'<p>'.$totalmachines.'</p>';

}
mysql_close();


?>

merci de votre aide
0