Formation gratuite pour apprendre le langage PHP, tutoriel & guide de travaux pratiques en pdf.
Présentation du PHP
PHP a été créé en 1994 par Rasmus Lerdorf pour les besoins des pages web personnelles (livre d’or, compteurs, etc.). A l’époque, PHP signifiait Personnal Home Page. PHP est un langage de script, c’est-à-dire que le code est enregistré sous forme de fichier texte sur le disque dur, et qu’il est exécuté à la demande par un programme chargé de l’interpréter. C’est habituellement l’internaute (par l’intermédiaire de son navigateur Web) qui demande l’exécution d’un script lorsqu’il consulte une page Web. La demande est reçue par le serveur Web (par exemple Apache HTTPD), qui se rend compte qu’il doit la sous traiter à PHP.
Documentation
Le site officiel de PHP est extrêmement bien fait. La documentation de n’importe quelle fonction est accessib depuis l’URL :
http://php.net/nom_de_la_fonction..N’oubliez pas de consulter les commentaires utilisateurs, car de très nombreux commentaires donnent des conseitrès utiles.
La documentation complète de PHP est disponible en français à l’adresse :
http://www.php.net/manual/fr/
Mon premier fichier en PHP
Voici le fichier hello.php. Il utilise la fonction htmlentities (qui convertit les caractères éligibles en entités HTML) pour afficher un message de bienvenue.
<?php echo '<?xml version="1.0"?>'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>PHP HelloWorld</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <?php if(empty($_GET['user'])){ echo htmlentities('Bonjour', ENT_QUOTES, 'UTF-8'); }else{ echo htmlentities('Bonjour, '.$_GET['user'], ENT_QUOTES, 'UTF-8'); } ?> </body> </html>
Exercices PHP
Exercice 1 : Compréhension
Soit le code PHP suivant :
<?php $i=0; print( $i++ + "3 voitures" . " camions<br/>"); print("$i" . "3 voitures" . " camions <br/>"); print( $i + "4.1 voitures" + " camions" . 3/2 . "<br/>"); ?>
Indiquez le texte affiché lors de l’exécution de ce code sans écrire le fichier. A quoi correspondent les opet ‘+’.
Exercice 2 : Quelques exemples simples
Ecrivez un fichier PHP qui affiche les éléments suivants :
• La date du jour (fonct ion date )
• La date de dernière modification (fonctions date et filemtime)
• Le contenu d’un fichier texte (fonction include)
• L’adresse IP du client (fonction getenv)
PHP et mysql
Lire et écrire une base de données est relativement simple en PHP, puisqu’ il existe justement des fonctions élaborées dans ce but. Regardons rapidement comment utiliser tout cela.
Je vous rappel que vous pouvez vous connecter à votre base mysql avec la commande suivante :
> mysql -u nom_utilisateur -p nom_de_la_base
Connectez-vous avec les droits root sous mysql.
Créez une nouvelle base nommée t p3db puis créez un nouvel utilisateur ayant les droits sur cette base.
> mysql –u root –p mysql mysql> CREATE DATABASE tp3db; mysql> USE mysql; mysql> GRANT ALL PRIVILEGES ON tp3db.* TO 'phpuser'@'localhost' IDENTIFIED BY 'passphp' WITHGRANT OPTION; mysql> GRANT ALL PRIVILEGES ON tp3db.* TO 'phpuser' IDENTIFIED BY 'passphp' WITH GRANTOPTION; mysql> COMMIT; mysql> USE tp3db;
Connexion avec la base de données
Avant d’envoyer des requêtes à la base de données, il faut déjà s’y connecter.
Pour cela on utilise la fonction mysql_connect() :
mysql_connect(serveur, utilisateur, mot_de_passe) ;
La déconnection (avant la fin du script) se fait avec la fonction mysql_close() :
mysql_close() ;
Insertion de données dans la table
Une fois la base créée, vous pouvez y ajouter des données à l’aide de PHP. Comme vu précédemment, connectez vous d’abord avec mysql, puis sélectionnez la base sur laquelle vous voulez travailler. Envoyez ensuite des requête(query) à la base.
<?php switch($_POST['action']){ // INSERTION DANS LA BASE case "inserer": // déclaration de quelques variables $host = "localhost"; $user = "phpuser"; $pass = "passphp"; $bdd = "tp3db"; $table = "personne"; // connexion avec MySQL @mysql_connect($host, $user, $pass) or die("I mp os si bl e de s e co nn ec te r а la b as e de données"); // Le @ indique а php de ne pas afficher de message d'erreur @mysql_select_db($bdd) or die("Impossible de se con ne ct er а l a ba se d e do nn ée s" ); // affichage sélection echo '<p>Bonjour '.htmlentities($_POST['nom']).', votre email est ' . htmlentities($_POST['email']).'</p>'; // stockage dans la bdd $nom = $_POST['nom']; $email = $_POST['email']; if(!get_magic_quotes_gpc()){ // si php n'est pas configuré pour le faire automatiquement, on ajoute des \ devant les ' // deux raisons : autoriser d'ajouter des ', et sécuriser notre requête // on y reviendra dans un prochain tutorial $nom = addslashes($nom); $email = addslashes($email); }
……
Apprendre le langage PHP (395 KO) (Cours PDF)