« 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
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
*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
*'''On ne la crée qu'une fois, tandis qu'on la convoque autant de fois
====Syntaxe====
Ligne 81 :
On fait, comme si $nombre existait déjà
Voici <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
<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é
*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
Il vous suffit de '''convoquer le fichier une seule fois au tout début de chacune de vos pages
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
{{remarque|contenu=
Ligne 290 ⟶ 291 :
Default :
$verdict='Vous avez une corpulence normale.';
//placer
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
*'''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'.
==
=== 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
Insérer dans la page du formulaire le code suivant avant l’élément body :
|