Vous êtes sur la page 1sur 9

Développement Web 20018/2019

TP n° 1 : Les tableaux en PHP


Exercice 1 :
Tapez le script suivant et testez le. Commentez l'affichage à l'écran.

<html>
<head><title>Les tableaux</title></head>
<body>

<?php
//Initialisation des tableaux
$tab[0]=''P'';$tab[1]=2;//Equivalent à $tab=array(''P'',2);
$vente_hebdo=array(''lundi''=>7,''mardi''=>5,''mercredi''=>7,''jeudi''=>9,''vendredi''=>2);
//Accès aux éléments d'un tableau
echo(''l'élément d'indice 1 est = ''.$tab[1].''<BR>'');
list($c1,$c2)=each($vente_hebdo);
echo(''l'élément courant $c1 est = $c2<BR>'');
$c=key($vente_hebdo);
$v=current($vente_hebdo);
echo(''l'élément courant $c est = $v <BR>'');
//Parcours des éléments d'un tableau
$vente_totale=0;
reset($vente_hebdo);
while (list($key,$value)=each($vente_hebdo))
{
echo ''<BR> Les ventes du $key : $value unités <BR>'';
$vente_totale+=$value;
}
echo ''<BR> Les ventes de la semaine : $vente_totale unités<BR>'';
//Tri de tableaux
//1- tri par valeur (sort,rsort)
reset($vente_hebdo);
sort($vente_hebdo);
while (list($key,$value)=each($vente_hebdo))
{
echo ''<BR> Les ventes du $key : $value unités<BR>'';
}
Exercice
//2- tri par2clé
: (proposé à l'examen final Janvier 2010)
: (ksort,krsort)
reset($vente_hebdo);
Ecrire un script php qui définit dans un tableau associatif la liste des cours enseignés en faisant
ksort($vente_hebdo);
for AZZABI
Sana (reset($vente_hebdo);$key=key($vente_hebdo),$value=current($vente_hebdo);next($vente_hebdo))
1/9
{
echo ''<BR> Les ventes du $key : $value unités <BR>'';
}
Développement Web 20018/2019

correspondre au nom du cours le nombre d'heures prévu.

Le script devra afficher les correspondances de ce tableau ainsi que le total des heures.

Résultat affiché par le script :


Système d’exploitation  22,5
Algorithmique  45
Analyse  20
Algèbre  20
Programmation Web  22,5
Programmation C  45
Culture Informatique  15
Sport  3
--------------------------------------
Total heures = 193

Sana AZZABI 2/9


Développement Web 20018/2019

TP n° 2 : Les formulaires
Exercice 1 :
Ecrire un formulaire qui permet à l'utilisateur de rentrer un texte quelconque. Puis écrire un
script qui détermine la fréquence de chaque lettre de l'alphabet dans ce texte.
Indications :
Le script consistera en une boucle for qui parcourt toute la longueur du texte (il faut donc
déterminer la longueur du texte à l'aide de la fonction strlen).
À chaque tour de la boucle, on extrait une lettre du texte à l'aide de la fonction substr.
On utilise un tableau associatif indicé $frequence, qui contient pour chaque lettre le
nombre de fois où elle a été rencontrée dans le texte. A chaque tour de la boucle, la
fréquence de la lettre rencontrée est augmentée de 1.
Exercice 2 :
Tapez le code suivant dans une page qui s'appelle identity.php, et interprétez le résultat

<html>
<head><title>Identité</title></head>
<body>
<h1>Identité</h1>
<form name="formulaire" method="post" action="tp4.php">
Entrez votre nom : <input type="text" name="nom"/> <br/>
Entrez votre prénom : <input type="text" name="prenom"/> <br/>
Entrez votre âge: <input type="text" name="age"/> <br/>
Entrez votre ville : <input type="text" name="ville"/> <br/>
Entrez votre activité : <input type="text" name="activite"/> <br/>
<input type="submit" name="valider" value="OK"/>
</form>
<?php
if(isset($_POST['valider'])){
echo '<h3>Vous venez d\'entrer : </h3>';
foreach($_POST as $index=>$valeur){
if ($index!='valider'){
echo '- '.$valeur.'<br/>';
} navigateur.
affiché sur le
}
Exercice 3}:
Concevez une page qui s'appelle imc.php, et propose un formulaire sous la forme suivante
?>
:
</body>
</html>

Sana AZZABI 3/9


Développement Web 20018/2019

Entrez votre prénom :


Entrez votre taille (sous la forme 1.70) :
Entrez votre poids (en kilos) :
OK

Ensuite vous traiterez le formulaire en PHP pour que quand la personne clique, elle voit
apparaître :
Bonjour (son prénom)
Votre IMC (indice de masse corporelle) est exactement : (son imc)
Vous avez (une corpulence normale ou bien Vous êtes en surpoids, ou bien Vous êtes
obèse etc...)
Pour la petite opération, l'IMC, c'est le poids divisé par la taille divisé par la taille...
En voici la syntaxe : $poids/($taille*$taille)

Sana AZZABI 4/9


Développement Web 20018/2019

TP n° 3 : Les fonctions
Exercice 1 :
Ecrire une fonction tabaffichage qui permet d'afficher les données d'un tableau passé en
paramètre sous forme d'un tableau HTML avec des couleurs de lignes alternatives (bleu,
rouge).

Exercice 2 :
Dans fonctions.php, vous créerez une fonction qui, quand on lui passe un nombre, affiche
le verdict "est un nombre premier" ou "n'est pas un nombre premier";

Pour rappel, un nombre premier est un nombre qui n'est divisible QUE par lui-même et par
1 (et ce, de façon distincte, donc 1 n'est pas un nombre premier).
A ce propos, 0 n'est pas un nombre premier non plus (car on ne peut pas le diviser par
zéro), mais vous le gérerez comme une exception...

Dans premiers.php, vous proposerez un formulaire pour que l'utilisateur entre un nombre,
disons entre 1 et 10 000, puis traiterez le nombre entré en appelant la fonction en cas de
clic sur validation.
Vous afficherez alors le verdict sous la forme :
"99 n'est pas un nombre premier." ou bien "59 est un nombre premier" etc...

Exercice 3 :
Dans fonctions.php, vous créerez une fonction parite qui, quand on lui passe un nombre,
retourne le verdict "pair" ou "impair".
Dans pairimpair.php, vous proposerez un formulaire pour que l'utilisateur entre un nombre,
(entre 1 et 10 000), puis traiterez le nombre entré en appelant la fonction en cas de clic sur
validation.

Sana AZZABI 5/9


Développement Web 20018/2019

TP n° 4 : PHP et Bases de données


Exercice 1:

- Créer une base nommée MaBase sous PhpMyAdmin


- Créer une nouvelle table "Utilisateurs" avec 5 champs :
• ID, qui est un INT (integer : entier), choisissez «auto-incrémenté» pour que PhpMyAdmin
gère ce champ tout seul
• pseudo qui est un VARCHAR (caractères dont le nombre varie), entrez 15 à
taille/longueur (nombre maximum de caractères autorisés)
• sexe qui est un CHAR (caractères dont le nombre est fixe), entrez 1 à taille/longueur
(nous mettrons simplement G ou F)
• age qui est un INT, entrez 3 à taille (le nombre de chiffres).
• dateInscription (sélectionnez date)

- Saisir 5 enregistrements (Laissez toujours le champ ID vide. Il se remplirait automatiquement):


• Leila F 18 2009-01-02
• Amine G 13 2008-01-02
• Salim G 25 2008-12-30
• Amel F 20 2009-01-02
• Malek F 15 2009-01-10

Pour convoquer un enregistrement, ou un morceau d'enregistrement, on passera donc toujours par


l'ID.

- Quelle requête permet de récupérer le jour d'inscription de Amel ?

- Quelle requête permet de récupérer toutes les infos sur les filles ?

- Quelle requête permet de récupérer que les pseudos des filles ?

Exercice 2 :

On souhaite créer un formulaire qui permettra de continuer à remplir automatiquement la table


Utilisateurs de votre base de données MaBase.

1- Sur un fichier form.php, entrez ce code :

Sana AZZABI 6/9


Développement Web 20018/2019

<html>
<head><title>Formulaire de saisie utilisateur </title></head>
<body>
<h1>Inscrivez-vous !</h1>
<h2>Entrez les données demandées :</h2>
<form name="inscription" method="post" action="form.php">
Entrez votre pseudo : <input type="text" name="pseudo"/> <br/>
Garçon ou fille ?
<input type="radio" name="sexe" value="G"/>Garçon<input type="radio"
name="sexe" value="F"/>Fille<br/>
Entrez votre age : <input type="text" name="age"/><br/>
<input type="submit" name="valider" value="OK"/>
</form>
Vous remarquerez que nous ne demandons que 3 éléments d'identification à l'utilisateur, alors que
la </body>
base en comporte 5 par enregistrement :
En</html>
fait, le premier champ de notre base est rempli automatiquement par mysql et le dernier, la date
d'inscription, nous allons le remplir aussi automatiquement, via PHP cette fois, en entrant la date
du jour dès que l'utilisateur clique 'OK'.

2- Compléter ce fichier par du code PHP pour que l'insertion de données ait lieu quand l'utilisateur
clique sur OK.

Exercice 3 :
Proposer un formulaire d'abonnement (abonnement.php) du type :

POUR VOUS ABONNER :


Veuillez saisir vos données d'identité :
Bouton radio : Monsieur Madame ou Mademoiselle
Nom :
Prénom :
Age :
Adresse :
Code Postal :(Bloquer via HTML la saisie à 5 chiffres)
Ville : Numéro de téléphone (Bloquer via HTML la saisie à 10 chiffres)
Veuillez cocher le magazine choisi (un seul choix possible donc bouton radio) :
- J'ai la main verte.
- J'ai le pied marin.
- J'ai l'oeil vif.
- J'ai la rate qui se dilate.
Valider
Au clic sur valider de la part de l'utilisateur, vous ferez deux choses simultanées :

Sana AZZABI 7/9


Développement Web 20018/2019

1) Afficher ceci
'Pour rappel, vous avez saisi :'
toutes les données entrées par l'utilisateur, présentées proprement, du genre
'VOUS ETES :'
'VOUS AVEZ CHOISI :'
'Merci de vous être abonné à ce magazine !'
2) Insérer dans une table Abonnes que vous aurez créée auparavant via phpMyAdmin
toutes les données entrées par l'utilisateur.
Vous placerez dans le fichier fonctions.php la fonction de connexion.

Exercice 4 : (proposé à l'examen final Janvier 2010)

On souhaite créer le formulaire suivant « sondage.html » qui permet de faire un sondage sur les
compétences en technologies d’information et de communication (TIC) d’une population.

Les données de ce formulaire seront insérées dans la table statistique d’une base de données

Sana AZZABI 8/9


Développement Web 20018/2019

sondage par un script PHP nommé insertstat.php.

Le schéma de la table statistique est le suivant :


statistique (ids, sexe, trancheage, OS, navigateur, langprog, nivhtml, besoinform), avec :

Colonne Type de données


ids clé primaire, numérique, auto incrémental
sexe, trancheage, OS, navigateur type énumératif
langprog chaîne de caractères, dont la valeur vaut la combinaison
des différents langages choisis, cités plus haut,
concaténés par un + (exemple :
‘’Basic+Java+Javascript’’)
nivhtml numérique
besoinform chaîne de caractères

1- Donner le code correspondant aux fichiers sondage.html et insertstat.php.


2- On veut pouvoir afficher à partir de la base de données sondage, les statistiques suivantes
dans une page html: nombre d’utilisateurs pour un système d’exploitation donné.

Voici un exemple du contenu de la page Web générée :

Statistique : Nombre utilisateurs par OS

OS Total usagers
Linux 1500
MAC-OS 50
Windows 3000
Autre 10

Donner le code du script php (qu’on nommera statisparos.php) qui permet de récupérer de
telles statistiques et de les afficher sous forme d’un tableau tel que indiqué ci-dessus.

Indication : Voici la requête SQL à invoquer :


select OS, count(ids) as total
from statistique
group by OS;

total étant un alias à count(ids).

Sana AZZABI 9/9