Vous êtes sur la page 1sur 7

Stfania TARGOWSKI

D9CW1 - Outils Enseignant : Christian Fondrat Devoir n3 (janvier 2012) EXERCICES EN PHP + NOTE EXPLICATIVE

EXERCICE 1
1) Qu'affichent les instructions suivantes? $a=1; $b="2+$a"; $a=2; echo $b . $a; Elles affichent 2+12

2) Dans la partie du cours sur les notions de variables, (c'est--dire dans le fichier pdf nomm 4.2 PHPdefinitionVariableEtAffection), il y a une erreur dans les exemples de variables. Pouvezvous la trouver ? Lerreur est dans la concatnation de Christian et est mon prnom. echo $ch; //affiche "Christian, cest mon prnom" Le c ne devrait pas apparatre. 3) Ecrire quelques instructions : Affectez une variable $a une valeur entire quelconque. Affichez (avec echo) la chane de caractres Jai X ans, o X est remplac par la valeur de $a. par exemple : Jai 20 ans Vous procderez de deux faons : 1- en utilisant la concatnation de chanes de caractres <?php $a=26 ; echo "j'ai ".$a." ans" ; ?> 2- en passant 3 arguments la fonction echo.
<html> <head> <title>heure</title> </head> <body> <p> <?php $a=26; $b="jai "; $c=" ans"; echo $b,$a,$c ;

?> </p> </body> </html>

4) Ecrivez un programme, qui en fonction de la valeur d'une variable $jour (entier compris entre 1 et 7) affiche le jour de la semaine. <?php $jour = 5; switch ($jour) { case 1: echo "lundi"; break; case 2 : echo "mardi"; break; case 3: echo "mercredi"; break; case 4: echo "jeudi"; break; case 5: echo "vendredi"; break; case 6: echo "samedi"; break; case 7: echo "dimanche"; break; } ?>

EXERCICE 2
Consigne :
Rcrire le programme qui affiche les jours de la semaine mais en se servant des tableaux cette fois. <?php $jour=3; $semaine=array('lundi','mardi','mercredi','jeudi','vendredi','samedi','dimanche'); echo $semaine[$jour]; ?>

EXERCICE 3
Recopiez dans un script la fonction suivante :
function mystere($n) { $val=1 ; for ($i=1 ;$i<=$n ;$i++) $val*=$i ; return $val ; }

Appelez cette fonction en lui passant la valeur 4 en argument et affichez le rsultat.


function mystere($n) { $val=1 ; for ($i=1 ;$i<=$n ;$i++) $val*=$i ; return $val ; } $val=mystere(4); echo $val;

Que fait cette fonction ? Elle affiche 24 car 1x1=1 1x2=2 2x3=6 6x4=24 Crer ensuite un script PHP qui appelle cette fonction 10 fois avec les 10 premiers entiers (de 1 10).
function mystere($n) { $val=1 ; for ($i=1 ;$i<=$n ;$i++) $val*=$i ;

return $val ; } $w=1; while ($w<=10) {$resultat=mystere($w); $w++; echo $resultat.'<br>'; }

Les valeurs retournes seront stockes dans un tableau. Puis vous afficherez le rsultat sur 2 lignes : la premire ligne les chiffres de 1 10 et la deuxime ligne, le contenu du tableau.
function mystere($n) { $val=1 ; for ($i=1 ;$i<=$n ;$i++) $val*=$i ; return $val ; } $w=1; while ($w<=10) {$resultat=mystere($w); $w++; } $a = array("1","2","3","4","5","6","7","8","9","10"); $b = array_map("mystere", $a); print_r($b);

Je ne suis pas parvenue raliser un tableau en 2 lignes cependant, cette fonction ralise un affichage quivalent.

Texte d'explication du formulaire et programme php.


Implmenter un formulaire dans votre site web pour crer une fonctionnalit simple interactive. Cette fonctionnalit est compltement libre. Mon site web tant destin effectuer la promotion de mon groupe de musique, il me fallait crer une interaction php simple en lien avec cette ativit.

Bien souvent, la fin des concerts, le public souhaite acheter un produit mais na pas de monnaie ou de chquier sur lui. Notre groupe nayant pas les moyens de proposer une boutique en ligne (avec tous les soucis organisationnels que cela implique), jai imagin quavec un formulaire permettant aux spectateurs de calculer le prix des objets quils souhaitent acheter, ces derniers penseraient peut-tre davantage sorganiser en amont.

Jai donc tout dabord cr un formulaire assez simple :


<h2>Soutenez les French Pickles en achetant leur album!</h2> <p>Tu te prepares a acheter notre album lors d'un prochain concert ? <br/> <p/> <p>Nous t'aidons a preparer ton cheque ! Pour cela, remplis les champs cidessous:</p> <form name="inscription" method="post" action="shop2.php"> <p>Tu souhaites acheter:</p> Quantite de CD (10 euros) : <input type="text" name="quantitecd"/> <br/> Quantite de version numerique(5 euros) : <input type="text" name="quantitenumerique"/> <br/> Quantite de packs CD+numerique(12 euros) : <input type="text" name="quantitelesdeux"/> <br/> <p> <input type="reset" name="effacer" value="Effacer le formulaire" /> <input type="submit" name="valider" value="Envoyer le formulaire" /> </p>

Zone en bleu : cette zone indique quell type de methods et donc de donnes nous allons collecter : ici ce sera POST (il en existe dautres comme GET par exemple). On indique aussi le nom de la page cible : shop2.php o le lecteur sera redirig pour voir la rponse. Zone en jaune : cette zone correspons la zone de remplissage des utilisateurs. Les donnes recueillies par lordinateur seront stockes dans une variable appele quantitecd par exemple pour la premire ligne. Zone en vert : Ces 2 lignes permettent respectivement de crer des boutons pour effacer tout le formulaire (et donc vider les variables) et de valider les entres saisies (et donc donner le feu vert au php de commencer).

Jai galement cr le programme php suivant :


<?php $prixcd=10; $prixnum=5; $prixlesdeux=12; if (isset($_POST['valider'])) { $quantitecd=$_POST['quantitecd']; $quantitenumerique=$_POST['quantitenumerique']; $quantitelesdeux=$_POST['quantitelesdeux']; $totalcommande=($prixcd*$quantitecd)+($prixnum*$quantitenumerique)+($ prixlesdeux*$quantitelesdeux); echo'Ces produits te couteront '.$totalcommande.' euros.<br/>'; if ($totalcommande<30) { $verdict='Nous t offrirons des cartes de visite gratis avec!'; } elseif ($totalcommande>30) { $verdict='...c est donc une sacree commande!Ca merite une affiche dedicacee!'; } echo $verdict; } ?>

Zone en jaune : ici on attribut respectivement les valeurs 10, 5 et 12 aux variables $prixcd, $prixnum et $prixlesdeux. Cela signifie que lon dfinit que le prix dun CD est de 10 , le prix dun CD en version numrique uniqument est de 5 tandis quun combo des 2 vaudra 12 . Zone en vert : ici on vrifie que la variable $_POST est affecte quand on clique sur valider. Si cest le cas, alors on effectue les calculs qui suivent. Zone en bleu : dans cette zone on dfinit ce qui se trouve dans les variables $quantitecd, $quantitenumerique et $quantitelesdeux. C'est--dire quon attribue chaque champs de rponse une sorte de bote (la variable) qui va les recevoir et pouvoir par la suite les traiter (ventuellement) Zone en rose : cest notre calculette . En effet, ici on dfinit le calcul effectuer avec les donnes recueuillies. Avec echo , on affiche le montant rgler puis, on souhaite crire un mot particulier en fonction du montant de la commande. Pour cela, on va crer une condition : Zone en gris : en effet, si le montant est infrieur 30 , on offrira des cartes de visites lacheteur. Si sa commande est suprieure 30 , on lui proposera une affiche ddicace. Toujours avec echo , on affichera cette phrase quelque peu personnalise .