« SPARQL Protocol and RDF Query Language/Travail pratique/PHP les fonctions » : différence entre les versions

Contenu supprimé Contenu ajouté
m Robot : Remplacement de texte automatisé (-numero +numéro)
Aucun résumé des modifications
Ligne 24 :
Il vous faut avoir fait tous les TPs précédent.
 
== A savoir pouravant de commencer ==
Pour ce TP, nous allons voir :
* les fonctions
Ligne 33 :
===Les fonctions===
====Définition====
Imaginons que le code suivant est utilisé dans plusieurs pages de votre site Web :
<source lang="php">
<?php
Ligne 45 :
</source>
 
Votre code afficheaffichera les notes d'un élève mais on veut :
*mettre en rouge toutes les notes (strictement) inférieures à 10.
*mettre en vert toutes les notes supérieures (ou égales) à 15.
Ligne 60 :
Utilisation d'une fonction :
*On place la fonction au début du code(au sein de balises PHP).
**PHP ne parcoursparcourt qu'une seule fois le code. siSi la fonction n'est pas définie avant son utilisation, PHP génère une erreur.
*'''On ne la crée qu'une fois, tandis qu'on la convoque autant de fois quque l'on veut'''
 
====Syntaxe====
Ligne 81 :
 
 
On fait, comme si $nombre existait déjà,.<br/>
Voici leun petit boutexemple de code qui effectue ce qu'on veut obtenir :
<source lang="php">
<?php
Ligne 152 ⟶ 153 :
Les fonctions peuvent être définies avec plusieurs paramètres.
 
Par exemple, je peux définir une fonction "moyenne annuelle qu'elle que soit la moyenne des trois trimestres scolaires" :
<source lang="php">
<?php
Ligne 210 ⟶ 211 :
Le mot clé '''return''' :
*stoppe la fonction
**on peut le placer à tout moment dans la fonction mais pour une meilleur lisibilité dans ledu code, il ne faut l'utiliser qu'une fois et comme dernière instruction de la fonction (juste avant l'accolade finale qui ferme la fonction).
*ne peut renvoyer qu'une seule valeur
**libre à vous de rendre cette valeur complexe comme un tableau ou un objet.
Ligne 217 ⟶ 218 :
 
====Importer des fonctions====
Si votre fonction est utiliséutilisée dans au moins deux pages Web, '''vous pouvez tout-à-fait mettre vos fonctions dans un autre fichier et partager votre fonction dans plusieurs pages Web'''.
Il vous suffit de '''convoquer le fichier une seule fois au tout début de chacune de vos pages phpPHP'''.
 
Avec une fonction include vous pouvez insérer le code d'un autre fichier dans votre page :
Ligne 232 ⟶ 233 :
?>
</source>
ou require_once qui lève une erreur, s'il ne trouve pas le fichier mais qui ne charge qu'une fois ce fichier. Cela évite de recharger inutilement ce fichier si require_once tente de recharger le même fichier.
<source lang="php">
<?php
Ligne 262 ⟶ 263 :
 
 
'''Cela vous permettra de changermettre à jour toutes vos pages en modifiant une seule fois votre texte dans fonctions.php et ainsi chacune de vos pages sera à jour.'''
 
{{remarque|contenu=
Ligne 290 ⟶ 291 :
Default :
$verdict='Vous avez une corpulence normale.';
//placer ici quelques conseils "Continuez commmecomme ça« "
break;
}
Ligne 298 ⟶ 299 :
Traduction :
*Dans le cas (case) où la variable $corpulence est égale à :
**'denutrition' alors affecter le texte 'Vous êtes en dénutrition.' à la variable $verdict
**'maigre' alors affecter une autre valeur à $verdict.
**une autre valeur que 'denutrition' ou 'maigre' alors les instructions dans le cas Default seront alors utilisées
*'''On sait que ces conditions s'excluent l'une l'autre grâce à l'instruction break'''; qui signifie : 'quand tu as finis, sors de ce switch'.
 
==TP Exercices ==
=== Lecture d'une liste depuis un formulaire ===
On veut qu’un utilisateur puisse mettre autant de mots-clés qu’il souhaite par expérience dans son CV.
*Vous allez laisser un seul champ pour les mots clés pour les écrire en les séparants par des espaces.
*Utiliser la function explode($separateur,$text) pour convertir cette liste en un tableau.
Ligne 413 ⟶ 414 :
{{solution|contenu=
Voici la correction :
 
Dans le fichier formMonCV.html :
<source lang="html4strict">
<html>
<head><title>Mon CV</title></head>
<body>
<form name="inscription" method="post" action="monCV.php">
Entrez votre : <br/>
Nom : <input type="text" name="nom"/> <br/>
Prénom : <input type="text" name="prenom"/> <br/>
Adresse : <input type="text" name="adresse"/> <br/>
Code postal : <input type="text" name="code_postal"/> <br/>
Ville : <input type="text" name="ville"/> <br/>
Téléphone: <input type="text" name="telephone"/> <br/>
 
Dernière expérience professionnelle : <br/>
 
Date de début (aaaa-mm-jj) :
<input type="text" name="date_debut[]"/> <br/>
Toujours en poste : <input type ="checkbox" name="poste_actuel[0]" >
ou Date de fin (aaaa-mm-jj) : <input type="text" name="date_fin[]"/> <br/>
Poste : <input type="text" name="poste[]"/> <br/>
Employeur : <input type="text" name="societe[]"/> <br/>
Description : <br/>
<textarea name="description[]" cols="50" rows="5"></textarea> <br/>
Mots-clés : <input type="text" name="mots_cles[]"/> <br/>
Date de début (aaaa-mm-jj) :
<input type="text" name="date_debut[]"/> <br/>
Toujours en poste : <input type ="checkbox" name="poste_actuel[1]" >
ou Date de fin (aaaa-mm-jj) : <input type="text" name="date_fin[]"/> <br/>
Poste : <input type="text" name="poste[]"/> <br/>
Employeur : <input type="text" name="societe[]"/> <br/>
Description : <br/>
<textarea name="description[]" cols="50" rows="5"></textarea> <br/>
Mots-clés : <input type="text" name="mots_cles[]"/> <br/>
Date de début (aaaa-mm-jj) :
<input type="text" name="date_debut[]"/> <br/>
Toujours en poste : <input type ="checkbox" name="poste_actuel[2]" >
ou Date de fin (aaaa-mm-jj) : <input type="text" name="date_fin[]"/> <br/>
Poste : <input type="text" name="poste[]"/> <br/>
Employeur : <input type="text" name="societe[]"/> <br/>
Description : <br/>
<textarea name="description[]" cols="50" rows="5"></textarea> <br/>
Mots-clés : <input type="text" name="mots_cles[]"/> <br/>
 
<input type="submit" name="valider" value="OK"/>
</form>
</body>
</html>
</source>
 
Dans le fichier monCV.php
Ligne 499 ⟶ 552 :
 
===Création du formulaire dynamique===
Maintenant qu’on peut afficher '''n''' expériences dans leun CV. On va faire en sorte que le fichier HTML puisse à la demande de l’utilisateur rajouter des expériences.
 
Insérer dans la page du formulaire le code suivant avant l’élément body :