Vous êtes sur la page 1sur 13

Atelier Internet et web ENIT- 2014/2015

Atelier N°1 Manipulation des données avec PHP


• Installation EasyPhp
• Gestion de base de données avec PhpMyAdmin
Pré requis :
• Généralités sur le langage PHP
Langage HTML/PHP • Manipulation des données avec PHP

Rq : Les exemples sont à lire et l’application est à réaliser

1 Présentation et installation de EasyPhp


Afin de faire fonctionner PHP, il est nécessaire à la base d'en télécharger les sources depuis
un site spécialisé. Un package a été mis au point appelé EasyPHP contenant 3 produits
incontournables de la scène PHP :

• Le serveur Web Apache


• Le moteur de scripts PHP4
• La base de données MySQL
• Un outil de gestion de base de données graphique, Phpmyadmin

EasyPHP est ainsi un pack fonctionnant sous Windows permettant d'installer en un clin d'œil
les éléments nécessaires au fonctionnement d'un site web dynamique développé en PHP.

L'installation d’EasyPHP est très simple, notamment avec la version 1.8 (sur la quelle nous
allons travailler) comportant un installeur automatique.

1.1 Configurer easyPhp


Dans un premier temps pour que tout fonctionne au mieux vous devez voir les deux petits
feux allumé au vert lors du lancement de EasyPhp si ce n'est pas le cas c'est déjà que nous
avons un problème.
Quand Easyphp est lancé dirigez-vous vers l'icone sur la barre de tache en bas à droite faite un
click droit sur celui-ci et cliquez maintenant sur administration.

1
Atelier Internet et web ENIT- 2014/2015

Vous devriez avoir quelque chose comme ceci à l'écran :

Cliquez maintenant sur "Ajouter" se trouvant en dessous de "Alias" vous verrez une page de
ce type s'afficher alors :

Indiquez donc un nom à votre alias puis dans la partie n°3 il suffit de mettre le chemin de
votre site EXP: « C:/easyPhp/www/SiteEnitDynamique »Validez et le tour est joué
et vous pourrez maintenant utiliser le serveur d'évaluation afin de travailler votre PHP.i

2
Atelier Internet et web ENIT- 2014/2015

2 Gestion de base de donnée avec PhpMyAdmin


Pour lancer phpMyAdmin il suffit de taper dans le navigateur : http://localhost/mysql/

2.1 Création d’une base


Une fois entré dans l’interface PHPMyadmin, on saisie le nom de la base de donnée dans le
champ Créer une base de données et on clique le bouton Créer.

Application 1: Créer la base nommée « EnitDB »

3
Atelier Internet et web ENIT- 2014/2015

2.2 Création d’une table

Pour créer une table, on entre dans la base de données en question, puis dans la section Créer
une nouvelle table sur la base, on entre le nom de la table et le nombre de champs et on clique
le bouton exécuter.

Application 2: Dans notre cas, on crée la table « utilisateurs » qui aura 2 champs « log » et
« pass ».

Une fois le bouton Exécuter cliqué, on remplit les champs et on fait la sauvegarde.

2.3 Insertion d’un enregistrement


Application : Insérer un
enregistrement

log : admin,

pass : 1234

4
Atelier Internet et web ENIT- 2014/2015

Application 3: Créer une table « liens »

Insérer un enregistrement

5
Atelier Internet et web ENIT- 2014/2015

3 Généralités sur le langage PHP

Le langage HTML est interprété par le navigateur. Cela signifie que c'est votre navigateur
(Chrome, Firefox, ...) qui lit le code HTML et qui le traduit en un langage lisible par un
humain.

Le PHP est quand à lui interprété par un serveur. Votre logiciel de navigation fait une requête
au serveur, celui-ci transforme alors le code PHP en langage HTML puis renvoie le résultat à
votre navigateur. Votre navigateur ne voit donc que du code HTML.
PHP n'est pas le seul langage de script existant, mais il a l'avantage d'être gratuit et il est
disponible chez la plupart des hébergeurs gratuits.

PHP permet de rendre un site dynamique. Ce langage a la même syntaxe que le C (les notions sont les
mêmes).

Les fichiers contenant des scripts PHP doivent posséder l'extension php.

Exemple #1 Notre premier script PHP : index.php

<html>
<head>
<title>Test PHP</title>
</head>
<body>
<?php echo '<p>Bonjour le monde</p>'; ?>
</body>
</html>

Le code php s'insère au milieu du code html. Il est définit par les balises <?php et ?> .

Echo est l'instruction qui donne l'ordre à l'ordinateur d'afficher le texte. On peut écrire
n'importe quel texte avec la commande echo. Si ce texte est une balise html, elle sera
interprétée par le navigateur. N'oubliez pas de terminer votre instruction php par un point
virgule ( ; ). Ce point virgule indique à l'ordinateur que c'est la fin de l'instruction.

Une variable est précédé du symbole "$" et on lui affecte une valeur avec le signe "=". On peut aussi
faire des calculs avec les variables :

<?php

$a=5;

$b=7;

$c=$a+$b;

echo "Voici la somme de ".$a." et de ".$b." : ".$c;

?>

6
Atelier Internet et web ENIT- 2014/2015

3.1 Les conditions

Les deux conditions principales sont if et switch :

if(test) switch($variable)
{ {
// code à exécuter si le test est vrai case valeur1:
} // bloc1
else break;
{ case valeur2:
// code à exécuter si le test est faux // bloc2
} break;
default:
// bloc_default
break;
}

3.2 Les boucles

Il existe deux types de boucle. La boucle for permet de réunir la déclaration, la condition et
l'incrémentation.

L'équivalent pour une boucle while :


for($i = 0; $i < 10; $i++) $i = 0;
{
// bloc à répéter while($i < 10)
} {
// bloc à répéter
$i++;
}

3.3 Les fonctions

Une fonction permet de renvoyer un résultat en fonction de données passées en paramètres.


Pour déclarer une fonction, ça prend la forme :
function carre($nombre)
{
return $nombre * $nombre;
}
La déclaration doit être faite avant l'appel de la fonction qui se fait comme ceci :
$retour = carre(2);
La variable $retour contient 4.

3.4 Les sessions

Les sessions permettent de créer des variables qui vont être sauvegardées même lorsque vous
changez de page. C'est très utilisé pour faire les espaces membres de sites Web. Pour ça, il
faut démarrer la session avec session_start(). Il faut la démarrer avant de taper du code html.

Les variables ont la forme :

$_SESSION['nom'] = valeur;

Pour détruire ces valeurs, il faut utiliser session_destroy().

7
Atelier Internet et web ENIT- 2014/2015

3.5 Transmission de formulaire

L'un des points forts de PHP est sa capacité à gérer les formulaires. Le concept de base qui est
important à comprendre est que tous les champs d'un formulaire seront automatiquement
disponibles dans le script PHP d'action

Exemple #2 Un simple formulaire HTML « FormSimple.php »

<form action="action.php" method="post">

<p>Votre nom : <input type="text" name="nom" /></p>

<p>Votre âge : <input type="text" name="age" /></p>

<p><input type="submit" value="OK"></p>

</form>

Il n'y rien de particulier dans ce formulaire. Il est en HTML pur, sans aucune configuration
particulière. Lorsque le visiteur remplit le formulaire, et clique sur le bouton OK, le fichier action.php
est appelé. Dans ce fichier, vous pouvez écrire le script suivant :

Exemple #3 Afficher des données issues d'un formulaire « action.php »

Bonjour, <?php echo $_POST['nom']; ?>.


Tu as <?php
$age = (int)$_POST['age']
echo $age; ?> ans.
<?php
if($age<5){
$verdict='Ouh le bébé !';
}
elseif($age<13){
$verdict='Vous êtes un enfant !';
}
elseif($age<18){
$verdict='Vous êtes un(e) ado !';
}
else{
$verdict='Ah ! enfin un(e) adulte !';
}
echo $verdict;
?>

Voici le résultat que vous pourriez obtenir, selon les valeurs que vous avez saisies :

Bonjour Jean.

Tu as 29 ans.

Ah ! enfin un(e) adulte !

8
Atelier Internet et web ENIT- 2014/2015

Lorsque le formulaire est validé avec la méthode POST, des variables de nos champs sont crées, les
variables $_POST. Dans notre exemple, lors de la validation du formulaire les variables
$_POST['nom'] et $_POST[age] sont créées.

Pour l'âge, vu que nous savons que c'est un entier, vous pouvez le convertir en un entier.

C'est grâce à ces variables que nous allons pouvoir récupérer les données transmises dans le
formulaire, mais avant de les récupérer nous devons les vérifier. Nous allons donc récupérer
les variables pour pouvoir vérifier que les champs ne sont pas vides et que le formulaire est
bien envoyé.

if(isset($_POST) && isset($_POST['nom']) && isset($_POST['age'])){

if(!empty($_POST['nom']) && !empty($_POST[‘age’])){

//Exécution si le formulaire est posté et si les champs sont rempli

Isset Détermine si une variable est définie et est différente de NULL.

Empty Détermine si une variable est considérée comme vide.

Application 3:
Créer un nouveau fichier nommée « login.php » qui contient un formulaire avec 2 champs
de texte "Identifiant" (log) et Mot de passe (pass). Quelque soit l'étiquette de ces champs,
veillez à leur donner les noms de "log" et "pass".

N'oubliez pas le bouton de soumission, et d’annulation. Soit l’action du formulaire est de se


pointer à la page « actionLogin.php » qui affiche les données envoyées.

9
Atelier Internet et web ENIT- 2014/2015

4 Manipulation des données avec PHP


Dans un nouveau dossier « utilisateur » créer un fichier nommé
‘consultation_utilisateur.php’

4.1 La connexion à la base de données depuis PHP

Pour pouvoir vous connecter depuis une page PHP à votre base de données MySQL, il faudra
spécifier plusieurs paramètres :
• l'hôte (le serveur sur lequel MySQL est installé).
• le login utilisateur.
• le mot de passe.
• le nom de la base de données.
Par défaut, les paramètres mis en place par EasyPHP sont :
• hôte ou serveur : "localhost".
• username ou login : "root".
• mot de passe : "".
La connexion au serveur MySQL s'effectue par la fonction msql_connect(). Sa syntaxe est :
msql_connect ( 'hôte', 'login', 'mot de passe' )
La connexion à la base de données s'effectue par
msql_select_db (nom de la base, identifieur deconnexion). La fonction retourne aussi TRUE en cas de
succès et FALSE en cas d'erreur.
mysql_select_db('base", $connect) or die("Erreur de connexion à la base");
Ainsi tous vos scripts utilisant MySQL commenceront par :
$connect = mysql_connect('localhost','root','') or die ("erreur de
connexion");
mysql_select_db('base',$connect) or die ("erreur de connexion
base");
Comme tous vos scripts commenceront par les mêmes lignes, il serait assez élégant de les inclure dans une
librairie qu'il suffira d'appeler à chaque script.
Voici le script de librairie externe connexion.php :
<?php
$connect = mysql_connect('localhost','root','') or die ("erreur de
connexion");
mysql_select_db(' EnitDB ',$connect) or die ("erreur de
connexion base");
?>
Pour appeler cette librairie depuis le script, on ajoutera :
include("connexion.php")
4.2 Afficher le contenu d'une table
Pour afficher le contenu d'une table, après s'être connecté à la base, il faudra d'abord sélectionner la table
utilisateurs.
Lorsque l'on effectue une requête de sélection à l'aide de la fonction mysql_query, il est essentiel de
stocker le résultat de la requête (les enregistrements de la table) dans une variable, que l'on peut nommer
$result.
$result = mysql_query("SELECT log,pass from utilisateurs");
10
Atelier Internet et web ENIT- 2014/2015

Toutefois, cette variable contient l'ensemble des enregistrements demandés et n'est donc pas exploitable
telle quelle.
Ainsi on utilise une autre fonction, la fonction mysql_fetch_array(), qui découpe les lignes de résultat et
les affecte à une variable de type tableau associatif dans l'ordre où elles arrivent.
L'affichage s'effectuera par une boucle qui va parcourir les éléments du tableau.
while ( $row = mysql_fetch_array($result)){
echo $row[log].' - '.$row[pass].'<br>';
}
Une fois le script terminé, il est conseillé de clore la connexion.
mysql_close();
Le script complet devient :
<?php
$connect = mysql_connect('localhost','root','') or die ("erreur de
connexion");
mysql_select_db('EnitDB' ,$connect) or die ("erreur de connexion
base");
$result = mysql_query("SELECT log,pass from utilisateurs");
while ( $row = mysql_fetch_array($result)){
echo row[log].' - '.$row[pass].'<br>';
}
mysql_close();
?>
On peut ainsi afficher notre table liste qui ne contiendra à ce stade qu'un seul enregistrement

4.3 Insérer des données à partir d'un formulaire


Dans un site dynamique, il est intéressant de prévoir la possibilité d'insérer des données en ligne.
Soit un formulaire d'inscription « Ajout_utilisateur.php ». Le formulaire est en « post » et son action est
de se pointer à la page « utilisateur_Insert.php » .
<html>
<head>
<title>formulaire d’Ajout d’un utilisateur</title>
<head>
<body>
<form method="post" action="utilisateur_insert.php">
Nom : <input type="text" name="log"><br>
Email : <input tupe="text" name="pass"><br>
<input type="submit" name="submit" value="Ajouter">
</form>
</body>
</html>

11
Atelier Internet et web ENIT- 2014/2015

La page « utilisateur_Insert.php » contient ce code :


<?php
$connect = mysql_connect('localhost','root','') or die ("erreur de
connexion");
mysql_select_db('EnitDB' ,$connect) or die ("erreur de connexion
base");
mysql_query("INSERT INTO utilisateurs VALUES
('$log','$pass') ");
mysql_close();
?>
Un petit détour par PhpMyAdmin vous confirmera que l'enregistrement a bien été effectué.

4.4 Modifier un enregistrement


La fonction update vous permet de modifier les enregistrements d'un ou plusieurs champs dans votre table.
Soit le formulaire de modification « Modifier_utilisateur.php ».:
<html>
<head>
<title>formulaire modification d’un mot de passe d’un
utilisateur</title>
<head>
<body>
Pour modifier votre mot de passe :<br>
<form method="post" action="utilisateur_update.php">
Nom : <input type="text" name="log"><br>
Email : <input type="text" name="pass"><br>
<input type="submit" name="submit" value="Modifier">
</form>
</body>
</html>
Le fichier “ utilisateur_update.php” :
<?php
$connect = mysql_connect('localhost','root','') or die ("erreur de
connexion");
mysql_select_db('EnitDB' ,$connect) or die ("erreur de connexion
base");
mysql_query("UPDATE utilisateurs SET pass='$pass' WHERE
log='$log'");
mysql_close();
?>
Un petit détour par PhpMyAdmin vous confirmera que l'enregistrement a bien été modifié.

12
Atelier Internet et web ENIT- 2014/2015

4.5 Supprimer un enregistrement


La fonction DELETE vous permet de supprimer des enregistrements de votre table.
Soit le formulaire de suppression « Supprimer_utilisateur.php ».:
<html>
<head>
<title>formulaire suppression d’un utilisateur</title>
<head>
<body>
<form method="post" action="utilisateur_Delete.php">
Nom : <input type="text" name="log"><br>
Email : <input type="text" name="pass"><br>
<input type="submit" name="submit" value="Supprimer">
</form>
</body>
</html>
Le fichier “ utilisateur_Delete.php” :

<?php
$connect = mysql_connect('localhost','root','') or die ("erreur de
connexion");
mysql_select_db('EnitDB' ,$connect) or die ("erreur de connexion
base");
mysql_query("DELETE FROM utilisateur WHERE log='$log'
and pass='$pass' ");
mysql_close();
?>
La clause where vous permet de choisir l'enregistrement que vous souhaitez supprimer, si vous n'utilisez
pas cette clause, la table sera complètement vidée de son contenu. L'instruction delete est donc à manipuler
avec attention !
Vous pouvez utilisez plusieurs instructions avec la clause where, par exemple.
Sources principales
PHP Débutant : www.phpdebutant.com/
Le tutorial d'ASP-PHP.net : www.asp-php.net/tutorial/
Comment ça marche - Introduction à PHP : www.commentcamarche.net/php/phpintro.php3
PHP Tutorial : www.freewebmasterhelp.com/tutorials/php/
An Introduction to PHP : www.rci.rutgers.edu/~jfulton/php1/
Manual de PHP - Tutorial de PHP : www.webestilo.com/php/

13

Vous aimerez peut-être aussi