Correction du devoir de synthèse N°2 2017(4SI2)

Voir le sujet précédent Voir le sujet suivant Aller en bas

Correction du devoir de synthèse N°2 2017(4SI2)

Message par Admin le Jeu 18 Mai - 19:46

*******************code de la page enregistrement_achat.htm*****************
<html>
<head>
<script language="javascript" src="code.js">
</script>
</head>
<body>
<form method="POST" action="achat.php"  name="f" onsubmit="return control()">
<p align="center"><font color="#FF00FF"><i><b>Enregistrement d'un achat&nbsp; </b></i>
</font></p>
<p align="center"><i><b><font color="#FFFF00">Numéro Carte :</font><font color="#0000FF"><input type="text" name="nc" size="20" maxlength="10"></font></b></i></p>
<p align="center"><b><i><font color="#FFFF00">Mot de Passe :</font><font color="#0000FF"> </font> </i></b><i><b>
<font color="#0000FF">
<input type="text" name="mdp" size="20" maxlength="8"></font></b></i></p>
<p align="center"><font color="#FFFF00"><b><i>Date Achat : </i></b></font><i><b>
<font color="#0000FF"><input type="text" name="da" size="20" maxlength="10"> </font>
<font color="#FFFF00">(aaaa-mm-jj)</font></b></i></p>
<p align="center"><b><i><font color="#FFFF00">Type Carte : </font><font color="#0000FF"> <select size="1" name="tc">
<option>votre carte</option>
<option>blue</option>
<option>silver</option>
<option>gold</option>
</select></font></i></b></p>
<p align="center"><font color="#FFFF00"><b><i>Montant&nbsp; achat :</i></b></font><i><b><font color="#0000FF"><input type="text" name="ma" size="20"></font></b></i></p>
<p align="center"><input type="submit" value="Envoyer" name="B1" onclick='control()'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="reset" value="Rétablir" name="B2"></p>
</form>
</body>
</html>
************************code.js***********************
function control () 
{
if (f.nc.value.length !=10  ) { alert ('numero carte invalide ') ; return false ; }
if (f.mdp.value.length !=8  ) { alert (' mot de passe  invalide ') ; return false ; }
if (f.da.value.length !=10  ) { alert ('date invalide ') ; return false ; }
if (f.tc.selectedIndex==0) { alert ('type carte invalide ') ; return false ; }
if (isNaN(f.ma.value)==true || f.ma.value=='') {alert ('montant invalide') ; return false ; } 

}
*****************************achat.php********************************
<?php 
mysql_connect('localhost','root','')or die ('erreur de connexion') ;  ; 
mysql_select_db('bd4si1')or die ('base inexistante') ;  ; 
//récupération des données à partir du formulaire enregistrement_achat
$nc=$_POST['nc'];
$mdp=$_POST['mdp'];
$da=$_POST['da'];
$tc=$_POST['tc'];
$ma=$_POST['ma'];
//recherche si le client existe dans la base ou non
$res=mysql_query("SELECT * FROM carte WHERE num_carte='$nc' AND motpasse='$mdp' ");
$nl=mysql_num_rows($res);
$ligne=mysql_fetch_array($res); 
if($nl==0) { echo('veuillez s\'inscrire avant d\'enregistrer votre achat ') ; } // le client n'a pas de carte
else {  mysql_query ("INSERT INTO achat VALUES('','$da','$ma', '$nc','$mdp')");
if ( '$tc'== 'gold') { $points= 3* floor($ma); } //floor est une function qui arrondi à l'entier inférieur pour éliminer la partie décimale
elseif ('$tc'== 'silver') {$points= 2* floor($ma); } else $points= floor($ma);
//recherche le nombre de points à partir de la table point
$nbre_point_g=mysql_fetch_array(mysql_query(" select nbre_points from point where type='Gold' "));//on obtient un tableau  contenant une seule case  au quel on peut 
$nbre_point_s=mysql_fetch_array(mysql_query(" select nbre_points from point where type='Silver' "));// acceder  avec $nbre_point_g['nbre_points'] ou $nbre_point_g[ 1]
$nbre_point_b=mysql_fetch_array(mysql_query(" select nbre_points from point where type='Blue' "));// 
$solde=$ligne[solde_points]+$points ;
//$nbre_point_b est un tableau   $nbre_point_b[1] ou $nbre_point_b[nbre_points] indique le deuxième élément du tableau d'indice 1 
if ($solde>=$nbre_point_b[1] && $solde<$nbre_point_s[1]) { $typec='Blue';}//
elseif($solde>=$nbre_point_s[1] && $solde<$nbre_point_g[1]) { $typec='Silver';}
elseif ($solde>=$nbre_point_g[1]) { $typec='Gold';}
$res1=mysql_query("UPDATE carte SET solde_points='$solde', type_carte='$typec' WHERE num_carte='$nc' AND motpasse='$mdp' " );
        $mm=mysql_affected_rows();  // mysql_affected_rows() est une fontion qui retourne le nombre de lignes affectées par la requête update son utilisation n'est pas obligatoire  
        if($mm==1) {echo('modification établie');} 
}
mysql_close () ; 
?> 
***************************consultation.php***********************
<?php
if(empty($_POST[nc]) || empty($_POST[mdp]))
{ echo('veuillez remplir le formulaire');
?>
<html>

<head>
<meta http-equiv="Content-Language" content="fr">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>consultation</title>
<link rel="stylesheet" href="ripp1011.css">
<!--mstheme--><link rel="stylesheet" href="ripp1011.css">
<meta name="Microsoft Theme" content="ripple 1011">
</head>
<body>
<p><i><b>Consulter son solde de points </b></i></p>
<form method="POST" action="consultation.php" >
<fieldset style="padding: 2">
<legend><i><b>Identifiant</b></i></legend>
<p>Numéro de votre carte : 
<input type="text" name="nc" size="20" maxlength="10"></p>
<p>Mot de Passe : <input type="text" name="mdp" size="20" maxlength="8">
<input type="submit" value="ok" name="B1" onclick ></p>
<p>&nbsp;</p>
</fieldset></form>

</body>

</html>
<?php
}
else 
{
mysql_connect('localhost','root','') or die ('erreur de connexion') ; 
mysql_select_db('bd4si1') or die ('base inexistante'); 
$nc=$_POST[nc];
$mdp=$_POST[mdp];
$res=mysql_query ("select * from carte where num_carte = '$nc' and motpasse='$mdp' ") ;
$nl=mysql_num_rows($res); 
if ($nl==0) { echo ('num carte ou mot de passe incorrect '); }
else 
{
$ligne=mysql_fetch_array($res) ; 
echo ('Vous avez '.$ligne[solde_points].'points'.'<br> le type de votre carte est '.$ligne[type_carte] );
}}
?>

Admin
Admin

Messages : 42
Date d'inscription : 27/09/2007

Voir le profil de l'utilisateur http://missaoui-lcp.forumpro.fr

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum