Correction des TP TP 2 Ecrire la fonction "hello world!" en php. function helloworld() { echo "Hello World!<br>"; helloworld(); Calculer la surface d'un cercle en fonction de son rayon "Le cercle de rayon r à une surface de f" function surfacecercle($rayon) { return PI()*$rayon*$rayon; echo "Surface du cerlce de rayon 5 cm : ".surfacecercle(5)." cm<sup>2</sup>";
TP 3 Afficher le tableau suivant dans un tableau HTML $personnel[] = array( "fonction"=>"agent de maitrise", "nom"=>"dupont", "prenom"=>"jean", "age"=>54); $personnel[] = array( "fonction"=>"technicien", "nom"=>"durand", "prenom"=>"paul"); $personnel[] = array( "fonction"=>"chef de projet", "nom"=>"hanassi", "age"=>27); <table> <th>nom</th> <th>prénom</th> <th>fonction</th> <th>age</th> foreach($personnel as $personne) { foreach($personne as $info) { <td> if(isset($personne['age']) && $personne['age']<=30) afficher($info,'#550000'); else afficher($info); </td> </table>
TP 4 Ecrire un fichier contactedit.html contenant un formulaire permettant la saisie d'un contact : nom, prénom, situation maritale (radio), fonction (liste), photo (file). Il faut prévoir deux fichiers contactedit.html, différent par l'attribut "method" de leur balise "form", ce qui nous permettra de résoudre la question 2. Fichier contactedit_post.html : <html> <head> </head> <body> <form name="contact" method="post" action="contact.php" enctype='multipart/formdata'> <table> <td>nom :</td> <td><input type="text" name="nom"></td> <td>prenom :</td> <td><input type="text" name="prenom"></td> <td>situation :</td> <td> <input type="radio" name="situation" value="1">célibataire<br/> <input type="radio" name="situation" value="2">marié<br/> <input type="radio" name="situation" value="3">divorcé<br/> </td> <td>fonction :</td> <td> <select name="fonction"> <option value="1">technicien</option> <option value="2">développeur</option> <option value="3">chef de projet</option> </select> </td> <td>photo :</td> <td><input type="file" name="photo"></td> <td colspan="2" align="center"><input type="submit" name="ok" value="envoyer"></td>
</form> </body> <html> Le fichier contactedit_get.html est identique mise à part la balise "form" : <form name="contact" method="get" action="contact.php"> Notons que l'attribut "enctype" n'a pas été gardé, puisqu'il permet d'envoyer des fichiers par la méthode "post", envoi qui est de toute façon impossible avec la méthode "get". Nous pouvons également supprime le champ de type file qui permet normalement d'envoyer la photo. Ecrire les fichiers contact_get.php et contact_post.php qui restituent les données du formulaire, selon les deux méthodes. En fait il peut s'agir d'un même fichier qui test la méthode utilisée : $tab=null; if(isset($_post["ok"])) { echo "Données envoyées par la méthode POST<br>"; $tab=$_post; else if(isset($_get["ok"])){ echo "Données envoyer par la méthode GET<br>"; $tab=$_get; if($tab) { $nom=$tab["nom"]; $prenom=$tab["prenom"]; $fonctions=array(1=>"technicien",2=>"développeur",3=>"chef de service"); $fonction=$fonctions[$tab["fonction"]]; $situations=array(1=>"célibataire",2=>"marié",3=>"divorcé"); $situation=$situations[$tab["situation"]]; Nom : <?=$nom<br> Prénom : <?=$prenom<br> Fonction : <?=$fonction<br> Situation familaile : <?=$situation<br> <?
TP 5 Ecrire une page contenant soit: un formulaire d'authentification, qui compare login/pwd avec des noms stockés dans des tableaux. un lien "déconnexion" si l'utilisateur est déjà connecté qui permet de se déconnecté. if(isset($_post["login"]) && $_POST["login"]){ if(isset($tab_login[$_post["login"]]) && $tab_login[$_post["login"]] == $_POST["password"]) { $_SESSION["logged"]=true; $_SESSION["login"]=$_POST["login"]; else if(isset($_get["action"]) && $_GET["action"]=="exit") { session_unregister("logged"); if(isset($_session["logged"])) { echo $_SESSION["login"] <a href="login.php?action=exit">deconexion</a> <? else { <form name="logform" method="post" action="login.php"> Login: <input type="text" name="login"><br/> Passe: <input type="password" name="password"><br/> <input type="submit" value="connexion"/> </form> <? Enregistrer le nombre de visites d'un client dans un cookie. $tab_login["dupont"]="cecilia"; if(isset($_cookie["nb_visites"])) { $nbvisites=$_cookie["nb_visites"]+1; else $nbvisites=1; setcookie("nb_visites",$nbvisites); echo "C'est la ".$nbvisites." ème fois que vous nous rendez visite!<br>";
TP 6 - Créer une base de données "Cnam" avec phpmyadmin, contenant une table user(email, nom, prenom, pwd, niveau). Voici le script de création de la table : CREATE TABLE `utilisateur` ( `email` varchar(100) NOT NULL default '', `nom` varchar(50) NOT NULL default '', `prenom` varchar(50) NOT NULL default '', `pwd` varchar(50) NOT NULL default '', `niveau` tinyint(1) NOT NULL default '0' ) ENGINE=MyISAM DEFAULT CHARSET=latin1; - Modifier le script du TP 5 pour qu'il recherche les utilisateurs dans la base et non plus dans un tableau. if(isset($_post["login"]) && $_POST["login"]){ $db=mysql_connect("localhost","root",""); @mysql_select_db("cms") or die("base de donnée inaccessible!"); $r=mysql_query("select pwd FROM Utilisateur ". "WHERE nom='".$_post["login"]."' ". "AND pwd=password('".$_post["password"]."')"); if(mysql_num_rows($r)>0) { $_SESSION["logged"]=true; $_SESSION["login"]=$_POST["login"]; else if(isset($_get["action"]) && $_GET["action"]=="exit") { session_unregister("logged"); if(isset($_session["logged"])) { echo $_SESSION["login"] <a href="login2.php?action=exit">deconexion</a> <? else { <form name="logform" method="post" action="login2.php"> Login: <input type="text" name="login"><br/> Passe: <input type="password" name="password"><br/> <input type="submit" value="connexion"/> </form> <?