Download HTML CSS JS PHP EXAM and more Exams Web Programming and Technologies in PDF only on Docsity! UNIVERSITÉ DE LA MANOUBA ANNÉE UNIVERSITAIRE ECOLE NATIONALE DES SCIENCES DE 2020-2021 L’INFORMATIQUE EXAMEN SESSION RATTRAPAGE Matière : Programmation Web et Multimédia Date : 30-06-2021 Niveau : II1 Durée : 1H30 Nombre de pages : 3 pages + Annexe Documents : Non autorisés Exercice 1 : (HTML/CSS) (8pts=5pts (HTML) + 3 pts (CSS)) Ecrire le code HTML/CSS permettant de reproduire fidèlement le formulaire d’inscription illustré par la Figure 1, sachant que : La police utilisée est « Calibri » La taille de la police utilisée pour le texte est 16px, pour les titres des fieldsets 18px Image du fond de la page : « Fond_page.jpg » La couleur du fond des différents fieldsets est : #00FFFF Figure 1 Exercice 2 : (Javascript) (6pts) (1,5 par question) 1- Ecrire une fonction Javascript nommée "validation_radio () " permettant de vérifier que l’utilisateur a bien sélectionné un des deux choix proposés pour le champ "Genre". En cas d’erreur, la fonction doit afficher un message d’erreur. <script language=javascript> function validation_radio (ChampRadio) { for(i=0;i<ChampRadio.length;i++) { if(ChampRadio[i].checked) { return true; } { try{ // connexion à la base de données SITE $db = new PDO('mysql:host=197.80.10.3; dbname=SITE;charset=utf8', 'login_admin', 'motDePasse_admin', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); return ($db); } catch(Exception $e){ // En cas d'erreur : affichage message erreur die('Erreur : '.$e->getMessage()); } } ?> 2- Ecrire une fonction PHP nommée « enregistrement » permettant l’enregistrement, dans la table « ABONNE », des données relatives à l’ajout d’un nouvel abonné récupérées à partir du formulaire d’inscription de la Figure 1. <?php function enregistrement ($db,$_POST['Mail'], $_POST['Login'], $_POST['MotDePasse'], $_POST['Nom'], $_POST['Prenom'], $_POST['DateNaissance'], $_POST['Genre'], $_POST['Gouvernorat'], $_POST['Profession']) { If( !empty($_POST['Mail'])&& !empty($_POST['Login'])&& ! empty($_POST['MotDePasse'])&& !empty($_POST['Nom']) && ! empty($_POST['Prenom']) && isset($_POST['DateNaissance']) && isset($_POST['Genre']) && isset($_POST['Gouvernorat']) && ! empty($_POST['Profession'])) { $requete = $db->prepare('INSERT INTO ABONNE (Mail, Login, MotDePasse, Nom, Prenom, DateNaissance, Genre, Gouvernorat, Profession) VALUES (:Mail, :Login, :MotDePasse, :Nom, :Prenom, :DateNaissance, :Genre, :Gouvernorat, :Profession)'); $requete->execute(array('Mail' => $_POST['Mail'],'Login' => $_POST['Login'],'MotDePasse' => $_POST['MotDePasse'], 'Nom' => $_POST['Nom'], Prenom => $_POST['Prenom'], DateNaissance => $_POST['DateNaissance'], Genre => $_POST['Genre'], Gouvernorat => $_POST['Gouvernorat'], Profession => $_POST['Profession'] )); echo 'Ajout nouveau abonné terminé avec succès !'; } else { echo 'Les différents champs doivent être remplis correctement!'; } } ?> 3- Ecrire une fonction PHP nommée « recherche » qui affiche sous forme d’un tableau HTML (voir exemple ci-dessous) le nom, le prénom et la profession de toutes les abonnées du site qui habitent au gouvernorat de la Mannouba. Nom Prénom Profession BENT FOULEN Foulena Enseignante BENT FOULEN2 Foulena2 Etudiante <?php function recherche ($db) { $requete = $db->query("SELECT Nom,Prenom,Profession FROM ABONNE WHERE Genre = 'Femme' and Gouvernorat = 'Mannouba'"); <table border=3> <tr><th>Nom</th> <th>Prénom</th> <th>Profession</th></tr> while($abonn = $requete->fetch()) { $nom = $abonn["Nom"]; $prenom = $abonn["Prenom"]; $profession = $abonn["Profession"]; echo "<tr><td>".$nom."</td><td>".$prenom."</td> <td>".$profession."</td></tr>"; } </table> $requete->closeCursor(); } ?> 4- Ecrire une fonction PHP nommée « changer_profession » permettant à un abonné de mettre à jour sa profession dans la base de données du site. La fonction prend comme paramètres le login et le mot de passe de l’abonné en question ainsi que la nouvelle valeur à affecter au champ "Profession". En cas d’échec, la fonction doit afficher un message d’erreur. Dans le cas contraire, un mail est envoyé à l’abonné lui informant du succès de la mise à jour de sa profession. <?php function changer_profession ($db,$login, $mot_passe, $Profession) { try{ $sql = 'UPDATE ABBONNE set Profession = :Profession where Login = :Login and MotDePasse = :MotDePasse'; $requete = $db->prepare($sql) $requete->execute(array('Profession'=>$Profession, 'Login'=>$login, 'MotDePasse'=>$mot_passe)); $reponse = $db->query("SELECT Mail,Nom,Prenom FROM ABONNE where Login = $Login and MotDePasse = $MotDePasse"); $ligne = $requete->fetch(); $texte="Bonjour".$ligne["Nom"]." ".$ligne["Prenom"].",la mise à jour de votre profession a été effectuée avec succès." ; mail ($ligne["Mail"], 'Mise à jour profession', $texte); } catch(Exception $e){ die('Erreur Update Abonne:'.$e->getMessage()); } } ?>