Notre magasin

Rue Albert 1er, 7

6810 Pin - Chiny

(/fax: 061/32.00.15

Créer son site en PHP - MySQL

YBET informatique Forum Internet Vente informatique en ligne

14.4. Fonctions en PHP

1 Introduction - 2. Création de fonctions personnelles. - 3. Fonction conditionnelle si - 4. Fonction répétitive WHILE - 5. Opérateurs logiques - 6. La commande switch - 7. La commande isset() - 8. Informations sur les visiteurs - 9. Exercice

Dans le chapitre précédant de cette formation, nous avons utilisé les fonctions print() et echo. Cette partie du cours PHP va nous permettre de créer nos propres fonctions et d'utiliser des fonctions plus complexes pour la création de notre site Internet.

2. Créer ses propres fonctions

Créer une fonction en PHP va nous permettre de définir des fonctionnalités supplémentaires dans nos pages Internet et de les réutiliser au sein d'une même page. En php3, les fonctions doivent être établies au préalable (en début de page), plus en PHP4. La syntaxe d'une fonction est:

  • function nom-fonction($argument1, $argument2) {
  • // code php
  • return $variable;
  • }

FUNCTION (mot réservé) permet de spécifier que les lignes suivantes (encadrées par { et }) reprennent les arguments d'une fonction.

$argument1 et $argument2 sont des variables transférées à la fonction, $variable, le résultat (précédé de return).

Comme exemple, créons la fonction qui calcule et affiche un prix TVA comprise suivant un prix de départ et un taux de TVA

<?php
function prix_tvac($prix_htva,$taux_tva)
{
return ($prix_htva*(1+$taux_tva/100));
}
print(prix_tvac(19.23,21));
?>

Ces lignes affichent le prix TVAc d'un produit de 19,23 € pour un taux de 21 %, soit 23,2683

Remarques:

  1. Si vous transférez trop d'arguments, les arguments excédentaires sont ignoré.

  2. Si le nombre d'arguments est insuffisant, la fonction renvoie la valeur booléen FALSE

  3. Un seul paramètre peut-être renvoyé par return mais vous pouvez utiliser une matrice return array(1,2,3), à condition que le nombre de valeurs soit défini (fixe).

3. Fonction conditionnelle IF

Comme beaucoup d'autres langages de programmation, PHP utilise la fonction IF pour les opérations conditionnelles. Sa structure:

  • <?php
  • if (condition1) {
  • // fonction 1
  • }elseif (condition2) {
  • //fonction 2
  • }elseif (condition3) {
  • //fonction 3
  • }else {
  • //fonction 4
  • }
  • ?>

Si la condition 1 est vraie, le programme exécute la fonction 1, sinon, elle vérifie la condition 2. Si cette condition est remplie, elle exécute la fonction 2. Sinon, elle vérifie la condition 3. Si la condition 3 est remplie elle exécute la fonction 3. Sinon, c'est la fonction 4 qui est exécutée.

Le tableau suivant reprend les comparaisons  possibles.

condition exemple nom remarque
= = $valeur1==$valeur2 égal vrai si $valeur1 est égal à $valeur2
= = =  $valeur1===$valeur2 identique vrai si $valeur1 est égal à $valeur2 et s'ils sont de même type (à partir de PHP version 4)
<> $valeur1<>$valeur2 différent vrai si $valeur1 est différente de la $valeur2
< $valeur1<$valeur2 inférieur vrai si $valeur1 est inférieure à $valeur2
> $valeur1>$valeur2 supérieur vrai si $valeur1 est supérieure à $valeur2
<= $valeur1<=$valeur2 inférieur ou égal vrai si $valeur1 est inférieure ou égale à $valeur2
>= $valeur1>=$valeur2 supérieur ou égal vrai si $valeur1 est supérieure ou égale à $valeur2

Le sigle égal est réservé pour introduire des données dans une variable. Dans les versions inférieures à PHP 4, "1" == 1 renvoie la valeur vraie (même s'ils sont de types différents).

4. La fonction While

Cette fonction permet de faire une boucle tant que la condition est vraie. Attention de mettre une valeur qui varie dans le temps (par exemple un compteur qui s'incrémente à chaque boucle), sinon, le programme tourne sur lui même à l'infini (en boucle).

While(condition)
{
 // a effectuer
}

En PHP, la fonction While peut par exemple afficher les nombre de 0 à 9 par le script:

  • $i=0;

  • while($i<10){

  • print($i."<br>");

  • $i=$i+1;

  • }

5. Opérateurs logiques

Comme dans la majorité des langages de programmations, vous pouvez utiliser les fonctions Et et Ou dans les fonctions conditionnelles Si:

Comparateur exemple Nom description
AND $valeur1 AND $valeur2 ET Vrai si toutes les conditions sont exactes
OR $valeur1 OR $valeur2 Ou Vrai si une des condition est exacte
XOR $valeur1 XOR $valeur2 Ou exclusif Vrai si une des condition est exacte, mais pas toutes en même temps
! ! $valeur1 Non Vrai si $valeur1 est fausse
&& $valeur1 && $valeur2 ET Vrai si toutes les conditions sont exactes
|| $valeur1 || $valeur2 Ou Vrai si une des condition est exacte

6. La commande Switch

La commande Switch permet de définir une liste de commande en fonction d'une variable.

switch($variable){

 case valeur1:

   commmande 1

   break;

case valeur2:

   commande 2

   break;

default:

   commande avec valeur

   break;

}

  • Pour chaque possibilité, on utilise CASE suivi de la valeur. La liste de commande se termine par BREAK;.

  • La ligne DEFAULT (optionnelle) permet de définir une liste de commande si aucune autre condition n'est remplie. Si vous omettez cette option et que la valeur de la variable $variable n'est pas reprise, aucune commande n'est exécutée, aucun message d'erreur n'est non plus affiché.

Exemple:

<?php
$variable=1;
switch($variable){
case 1:
 echo '1';
 break;
case 2:
 echo'2';
 break;
default:
 echo'autre valeur';
 break;
}
?>

Ce petit programme affiche 1 si $variable vaut 1, 2 si la variable est 2 et autre dans tous les autres cas.

7. La commande Isset()

La commande ISSET() est régulièrement utilisée dans les fonctions conditionnelles, elle vérifie si une variable est définie et renvoie true (Vrai). Dans le cas contraire, la fonction renvoie False (faux).

Prenons un exemple:

<?PHP

$a="valeur";

print(isset($a));

print(" - la valeur a est bien définie<br>");

print(isset($b));

?>

Affichera "1 - La valeur a est bien définie". Remarquez que la fonction ISSET($b) n'est pas affichée. Nous pouvons modifier nos lignes de commandes comme:

<?php

If (isset($b)==FALSE){

print ("Valeur PHP b non définie");

}

?>

ou

<?php

if (!isse($b)

{

print ("variable PHP b non définie");

}

Nous avons inséré la commande print("<br>"); qui envoie un saut de ligne et utilisé une ligne de commande Si pour afficher "Valeur PHP b non définie". Remarquez que pour tester l'égalité, nous utilisons ==. Le signe = est utilisé uniquement pour associer une valeur à une variable. La deuxième méthode utilise la négation ! et donne un résultat identique.

8. Informations sur le visiteur

PHP inclut en standard quelques fonctions permettant de mieux connaître les visiteurs d'un site. Elles sont automatiquement récupérées par PHP.

Les données sont intégrées dans un tableau $_SERVER["ligne"]="valeur" ($HTTP_SERVER_VARS["ligne"]= "Valeur" dans les anciennes versions PH3, et PH4). Les valeurs possibles sont:

Fonction description exemple de valeur
$_SERVER["REMOTE_ADDR"] adresse IP de l'internaute 62.32.56.269
$_SERVER["HTTP_USER_AGENT"] Type de navigateur utilisé
  • Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322): Windows 2000 sous Internet explorer 6.0
  • Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1: Win 2000 sous Firefox1.5
$_SERVER["SCRIPT_FILENAME"] le nom du fichier PHP en cours index.php
$_SERVER["SCRIPT_URl"] L'adresse complète de la page précédente sans le nom de domaine /index.php
$_SERVER["REQUEST_METHOD"] procédure pour obtenir la page Par défaut GET, sauf pour les formulaires ou l'on peut également utiliser la fonction POST
$_SERVER["HTTP_REFERER"] nom complet de la page Internet précédente L'adresse complète de la page qui fait un lien (la valeur est vide si le navigateur n'a pas suivi de lien). http://www.ybet.be/vente/index.php
$_SERVER["HTTP_HOST"] le nom de domaine qui envoie le lien http://www.ybet.be

L'affichage de ces valeurs passent par les fonctions en PHP Print() ou Echo.

Exemple d'utilisation:

<?PHP print('Nous sommes le ');

print(date('d/m/Y')); print('. Il est actuellement '); print(date('H:i:s')); print('.'); 

Print(' Ton adresse Internet IP '); 

Print($_SERVER['REMOTE_ADDR']); 

print(" "); 

Print($_SERVER['HTTP_USER_AGENT']); 

print(" "); 

print($_SERVER['SCRIPT_URI']); print(' ');

print("Ta page d'arrivée est: ");

print($_SERVER['HTTP_REFERER']); 

?>

Nous sommes le 09/02/2012. Il est actuellement 05:31:35 Ton adresse Internet IP 38.107.179.239 CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
Ta page d'arrivée est:

9. Exercice

  1. Affichez les nombres de 1 à 10 dans un tableau de 2 colonnes (1 seule ligne) les 5 premiers dans la première cellule, les 5 suivants dans la seconde.

  2. Déclarez une variable $texte="exercice PHP". Faites une fonction conditionnelle qui affiche "Félicitation, vous avez réussi le test" si $texte="exercice PHP", qui affiche 'l'exercice est difficile' si la variable $texte est différent de exercice PHP. Essayez en donnant une autre valeur à $texte.

1. Introduction au langage PHP
2. Easyphp, vérification en local
3. Premières commandes en PHP
4. Fonctions en PHP
5. Les tableaux
6. Fonctions sur les variables
7. Formulaires Mail
8. Base de donnée MySQL avec easyphp
9. Première application de Mysql
10. Gestion des tables par PHP
10.a Exercice: formulaire de contact
11. Mise en page PHP - HTM: include() - require()
12. Création automatique de la table utilisateur
13. Formulaire et vérification des données
14. Insertion des nouveaux membres
15. Gestion des catégories
16. Liste de choix déroulante
17. Modification des tables MySQL
18. Enregistrer un fichier via un formulaire
19. Formulaire d'insertion
20. Affichage des annonces
21. Filtrage des petites annonces (1)
23. Exercice: gérer des news
24. Utilisation des Cookies
25. Gestion fichiers et Dossiers (source et FTP)
26. Cryptage et décryptageen PHP
27. Base relationnelle, méthodes Left et Join.
Formation référencement en ligne, positionnez votre site sur Google, MSN, Yahoo, ...
Les feuilles de styles
FrontPage et l'HTML, cours en ligne
Exemple d'utilisation de ces notes

Le Luxembourg belge, intégration des annonces, agenda, annuaire, découverte de la région, administration, ...

Création et référencement Internet Formation: apprenez à créer et référencer votre propre site Internet, dans notre liste de formations informatique privées

Pour nous rejoindre, plan d'accès
Caisses et balances de commerce, gamme TEC, Ohaus.
Dans les autres formations en ligne sur YBET: Access - Excel, Formation Word 

Les commandes du fichier .htaccess

Commandes et fonctionnalités du fichier de configuration des serveurs Apache.

Créer son site Internet

Avant de commencer, quelques explications sur comment créer son site

Introduction à l'HTML

Une introduction au langage HTML, formation en ligne

Besoin de gérer vos stocks?

Ciel gescom Premium ou évolution, la solution pour les PME


< 3 . Premières commandes en PHP

> 5. Variables en tableaux

YBET Informatique: formation débutant ou avancé

dans notre salle de formation ou en entreprise

Renseignements, tarifs et inscriptions sur notre page formations informatiques

Magasin Informatique YBET à Chiny

Mise en ligne: 20/02/2006, modification 26/12/2008