<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
Le script devra afficher les correspondances de ce tableau ainsi que le total des heures.
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>
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)
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.
- Quelle requête permet de récupérer toutes les infos sur les filles ?
Exercice 2 :
<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 :
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.
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
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.