Vous êtes sur la page 1sur 25

20/03/2020

PHP

Qu'est ce que PHP?


 PHP : (Hypertext Preprocessor") est un
langage de scripts:
 Coté serveur,
 Open Source,
 et spécialement conçu pour le développement
d'applications web.
 Il peut être intégré facilement au XHTML.

1
20/03/2020

Différence entre XHTML et PHP


 XHTML

 PHP

Où utiliser PHP
 Dans l’élément HEAD ou dans l’élément BODY
entre: <?PHP //le script PHP ?>
 Exemple:
<html>
<head>
<title>Exemple</title>
</head>
<body>
2. Scripting externe(dans un fichier externe)
<?php
echo "Bonjour, je suis un script PHP!";
?>
</body>
</html>

2
20/03/2020

Syntaxe du langage
PHP

Les variables en PHP


 le symbole Dollar $ précède toujours le nom
d'une variable
 On ne peut pas mettre d'espaces pour un
nom de variable. A la place, utilisez un
underscore _ .
 Evitez aussi les accents, les cédilles et tout
autre symbole pour le nom du variable.
<?php
$a = "Bonjour";
echo "$a";
?>

3
20/03/2020

Types de données
 PHP dispose plusieurs types de données
qui peuvent être utilisés:
1. Chaînes de caractères,
2. Nombres,
3. Les objets,
4. Les booléens,
5. null
6. Tableaux.

Les conditions
<?php
if ($autorisation_entrer == true)
{
echo "Bienvenue ";
}
elseif ($autorisation_entrer == false)
{
echo "T'as pas le droit d'entrer !";
}
?>

4
20/03/2020

Les conditions(switch)
<?php
$note = 16;
SWITCH ($note) { // on indique sur quelle variable on travaille
CASE 0: // dans le cas où $note vaut 0
echo "Tu es nul !!!";
BREAK;
CASE 12:
echo "Tu es assez bon";
BREAK;
CASE 16:
echo "Tu te débrouilles très bien !";
BREAK;
CASE 20:
echo "Excellent travail, c'est parfait !";
BREAK;
default:
echo "Désolé, je n'ai pas de message à afficher pour cette note";
}
?>

Les boucles
<?php
$nombre_de_lignes = 1;

WHILE ($nombre_de_lignes <= 100)


{
echo "Ceci est la ligne n°$nombre_de_lignes<br />";
$nombre_de_lignes++;
}
?>

<?php
for ($i = 1; $i <= 100; $i++)
{
echo "Ceci est la ligne n°$i<br>";
}
?>

5
20/03/2020

Définition des fonctions


<?php
function Bonjour($nom)
{
echo "Bonjour $nom !<br>";
}
Bonjour("Fatima");
Bonjour("Ahmed");
?>

<?php
function somme($a, $b)
{
$s = $a +$b;
return $s;
}
$c = somme(3,1);
echo "la somme égale à: $c";
?>

La fonction date( )
 Voici 5 paramètres les plus utilisés de la
fonction date():

6
20/03/2020

Exemple(date( ))
<?php
// Enregistrons les informations de date dans des
variables
$jour = date("d");
$mois = date("m");
$annee = date("Y");
$heure = date("H");
$minute = date("i");
// Maintenant on peut afficher ce qu'on a recueilli
echo "Bonjour ! Nous sommes le
$jour/$mois/$annee et il est $heure h $minute.";
?>

La fonction strlen( )

 Cette fonction retourne la longueur d’une


chaîne de caractères;

<?php
$chaine=" bonjour " ;
$longueur=strlen($chaine);
Echo ‘la chaîne de caractères comporte’ .
$longueur . ‘caractères:’;
?>

7
20/03/2020

La fonction str_replace( )

 Cette fonction remplace une chaîne de


caractères par une autre.
 Exemple:
<?php
$var=str_replace(‘t’,’d’,’dupont’);
echo $var;
?>

La fonction strstr( )
 strstr (chaine_source , chaine1 ) retourne une sous-
chaîne de chaine_source, allant de la première
occurrence de chaine1 jusqu'à la fin de la chaîne.
 Si chaine1 est introuvable, strstr retourne FALSE
.
 Si chaine1 n'est pas une chaîne, elle sera
convertie en entier, et utilisée comme code ascii
du caractère correspondant.
 Exemple :
<?php
$email = 'user@example.com';
$domaine = strstr($email, '@');
echo $domaine; // @example.com
?>

8
20/03/2020

La fonction strcmp()
Comparaison binaire de chaînes:

 strcmp ( $str1 , $str2 ) retourne


 < 0 si $str1 est inférieure à $str2 ;
 > 0 si $str1 est supérieure à $str2 ,
 et 0 si les deux chaînes sont égales.

la fonction empty()
 Pour vérifier si une variable est attribuée, on
utilise la fonction empty() qui renvoie true si
elle est vide et false sinon.

$variable = "a";

if(!empty($variable))
echo “la variable est attribuée";
else echo “la variable est vide";

9
20/03/2020

ereg()
<?php
if( ereg('PHP',$chaine))
{
print 'le mot PHP est bien dans la phrase';
}
else{
print 'le mot n\'est pas présent';
}
?>

La fonction split()
 La fonction split() scinde une chaîne en un
tableau après lui avoir fourni un séparateur.
 On découpe, par exemple, la chaîne avec
comme séparateur l'espace.
 $resultat = split(" ",$chaine);

10
20/03/2020

La fonction split()
 Le résultat obtenu est sous forme de tableau.
 Le tableau obtenu se présente comme ceci :
 0 Le
 1 PHP
 2 est
 3 un
 3 langage
 4 de
 5 script.

empty()
if( empty($variable_à_verifier))
{
print "La variable est vide";
}
else{
print "c'est ok";
}

11
20/03/2020

isset()
 Le contraire de empty() est la fonction isset()
qui vérifie si la variable existe ou non.

if( isset($variable_à_verifier))
{
print " la variable existe";
}
else{
print "la variable n’ existe pas";
}

Les tableaux (array)


 Tableaux numérotés :
<?php
// La fonction array permet de créer un tableau
$prenoms = array('nawal', 'ahmad', 'malak');
for ($numero = 0; $numero < 3; $numero++)
{
echo $prenoms[$numero];
echo "<br/>"; // retour à la ligne
}
?>

Un tableau numéroté commence à la case N°0:


$Tab[0].

12
20/03/2020

Les tableaux (array)


 Tableaux associatifs:

<?php
// On crée un array associatif :
$coordonnees = array (
"Prénom" => " Malak",
"Nom" => "Salhi",
"Adresse" => " N°3, Marjane 2",
"Ville" => "Meknès");

// Pour afficher la ville:


echo $coordonnees['Ville'];
?>

La boucle foreach
 La boucle foreach est spécialisée dans les
tableaux.
 foreach va parcourir chaque ligne du tableau, et
lors de chaque passage, elle va mettre la valeur
de cette ligne dans une variable temporaire.
<?php
$prenoms = array ('Samia', 'Malak', 'Jihane');
foreach($prenoms as $element)
{
echo $element . '<br />'; // affichera $prenoms[0],
$prenoms[1] etc.
} ?>

13
20/03/2020

La boucle foreach
 FOREACH permet aussi de parcourir les
tableaux associatifs.
 On peut aussi récupérer la clé de l'élément:
<?php $coordonnees = array (
"Prénom" => " Malak",
"Nom" => "Salhi",
"Adresse" => " N°3, Marjane 2",
"Ville" => "Meknès");
foreach($coordonnees as $cle => $element)
{ echo $cle . 'vaut ' . $element . '<br />'; }
?>

Rechercher dans un tableau

 Fonctions PHP de recherche dans un


tableau :
 array_key_exists : pour vérifier si une clé existe
dans un tableau ;
 in_array : pour vérifier si une valeur existe dans
un tableau ;
 array_search : pour récupérer la clé d'une valeur
dans un tableau.

14
20/03/2020

Rechercher dans un tableau

<?php
$personne = array (
'prenom' => 'Anas',
'nom' => 'Hamdaoui',
'adresse' => '3 Rue Marjane1');

if (array_key_exists('nom', $personne))
{
echo 'La clé "nom" se trouve dans le tableau personne !';
}
?>

Rechercher dans un tableau


<?php
$filières = array ('GE', 'GI', 'TM');
if (in_array('TM', $filières))
{
echo 'La valeur "TM" se trouve dans le tableau filières !';
}

$position = array_search('GI', $filières);


echo ' "GI" se trouve en position ' . $position . '<br />';
?>

15
20/03/2020

PHP et les formulaires


 Page: form.html
<p>
Cette page, elle aussi, ne contient que du
HTML.<br>
Veuillez taper votre prénom :
</p>
<form action="cible.php" method="post">
<p>
<input type="text" name="prenom"> <input
type="submit" value="Valider">
</p>
</form>

PHP et les formulaires


 Page: cible.php

<p>Bonjour !</p>

<p>Tu t'appelles
<?php echo $_POST['prenom']; ?> !</p>

<p>Si tu veux changer de prénom, <a


href="form.html">clique ici</a> pour revenir à
form.html</p>

16
20/03/2020

TEXTAREA
<textarea name= "adresse" rows="8"
cols="45">
Votre adresse ici.
</textarea>

Votre adresse:
<?php echo $_POST['adresse']; ?>

Bouton radio
<input type="radio" name="sexe" value="Masculin"
checked="checked" > Masculin
<input type="radio" name="sexe" value="Feminin" >
Feminin</p>

Sexe:
<?php echo $_POST['sexe']; ?>

17
20/03/2020

Les sessions
 La session est un mécanisme qui permet à
PHP de garder "en mémoire" un nombre
illimité de valeurs entre plusieurs requêtes
d'un même utilisateur.
 Les variables de sessions sont stockées
dans le tableau super-global $_SESSION.
Vous pouvez y stocker des variables de type
chaîne, entier, flottant, caractère, etc. ainsi
que les objets et tableaux.

Les sessions(suite)
Exemple:

<?php
session_start(); /* Création de la session avant la
balise <html> */
$_SESSION[‘login'] = ‘admin';
// Sauvegarde dans la session créée la variable
"login"
?>

18
20/03/2020

Les sessions(suite)
Récupération de données dans une session
Quand on démarre une session avec
session_start(), le tableau super-global
$_SESSION est automatiquement initialisé
avec les variables de la session.
Pour afficher le contenu de la variable login de
l’exemple précédant:
<?php
echo $_SESSION[‘login'];
?>

Les sessions(suite)
 La fonction isset() renvoie vrai si la variable
passée en argument existe réellement.
 Par exemple, nous allons reprendre la même
variable de session que précédemment : login.

<?php if (isset($_SESSION[‘login'])) {
echo 'La variable login est déjà enregistrée
!'; // On est certain de pouvoir y accéder
} else { echo 'La variable login n\'est pas
enregistrée !'; } ?>

19
20/03/2020

Les sessions(suite)
Détruire une session:
La fonction session_destroy(), qui ne prend
aucun paramètre et qui renvoie vrai en cas de
succès et faux en cas d'erreur, est utilisée
lorsque vous souhaitez vous déconnecter. Elle
s'emploie donc ainsi :
<?php if (session_destroy()) {
echo 'Session détruite !'; }
else { echo 'Erreur : impossible de
détruire la session !';} ?>

Les sessions(suite)
Détruire toutes les variables d'une session:
Il est possible de détruire toutes les variables de
session, ce qui permet de conserver la session :
il suffit tout simplement de réinitialiser le tableau
$_SESSION.
<?php
$_SESSION = array(); /* $_SESSION est
désormais un tableau vide, toutes les variables
de session ont été supprimées*/
?>

20
20/03/2020

PHP et MYSql
 Installer XAMPP/Wampserver/ Easyphp sur
vos machines
 L’outil Wampserver contient:
 MYSQL: SGBDR
 APACHE:c’est un serveur qui permet d’exécuter
les fichiers PHP
 Et des fichiers de configurations…
Cet outil contient aussi l’interface
« PHPMyAdmin » qui permet de créer des
Bases de Données MYSQL

Connexion à la base de données MYSQL

 L'extension PDO : c'est un outil complet qui


permet d'accéder à n'importe quel type de
base de données.

21
20/03/2020

Connexion à la base de données MYSQL

 Pour se connecter à MySQL avec PDO sur


la base test :

<?php
$bdd = new
PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
?>

Exécution et récupération des données

 Pour exécuter une requête SQL:


$reponse = $bdd->query(' requête SQL ');

 Pour récupérer une entrée, on prend la


réponse de MySQL et on utilise fetch(), ce
qui nous renvoie la première ligne.

$donnees = $reponse->fetch();

22
20/03/2020

Exemple
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8',
'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->query('SELECT nom, prenom FROM etudiant
WHERE codeFilière=\'GI\' ');

while ($donnees = $reponse->fetch())


{
echo $donnees['nom'] . ' ' . $donnees['prenom'] . '<br />';
}
$reponse->closeCursor();
?>

Requêtes préparées

$req=$bdd->prepare('requête SQL');
 $bdd->prepare permet de préparer la
requête sans sa partie variable, que l'on
représentera avec un marqueur sous forme
de point d'interrogation :
$req->execute(array(paramètres));
 Exécute une requête préparée.

23
20/03/2020

Exemple

<?php
$req = $bdd->prepare('SELECT nom FROM
etudiant WHERE codeFilière = ? And
ville=?');
$req->execute(array('GI', 'Rabat'));
$donnees = $req->fetch();
?>

Exemple avec fetchAll( )


<?php
$req = $bdd->prepare("SELECT nom, prenom FROM
etudiant");
$req->execute();

/* Récupération de toutes les lignes d'un jeu de


résultats */

$resultat = $req->fetchAll();
print_r($resultat);//Afficher le tableau
?>

24
20/03/2020

Afficher les erreurs en détails

<?php
$bdd = new
PDO('mysql:host=localhost;dbname=test;char
set=utf8', 'root', '',
array(PDO::ATTR_ERRMODE =>
PDO::ERRMODE_EXCEPTION));
?>

25

Vous aimerez peut-être aussi