Présenté par COMTE Jeremy et DE LAZZARI Thomas
Sommaire b Présentation générale b Include b Notion de variables b MySQL
1/ a) Présentation générale PHP est un langage dynamique qui permet de faire des opérations sur des pages HTML (pages web). Contrairement à HTML, il n’existe pas d'éditeur PHP… Votre seul outil sera donc des éditeurs de texte comme emacs, bloc-note, vi, etc...
1/ b) Faire de l ’HTML Il va donc vous falloir bien comprendre les codes HTML afin de pouvoir insérer dans votre page, les codes php au bon endroit :) Frontpage, Homesite et Web Expert sont de bons programmes pour faire le rapport design-code.
1/ c) Les premiers codes
1/ d) Quelques codes Saut de ligne Insertion d’une image Le cochon d’inde Un lien hypertexte LAPIN le lapin court dans la forêt
2/ 1) Premiers pas: Include home.php menu_gauche.php
2/ b) Applications des bases Quels sont les codes php et html qui structurent ce site ? Combien faut- il de page pour faire ce site en utilisant include( ) ?
3/ a) Notion de base Comme en C, on peut utiliser des variables en php! Voici un exemple tout bête: Mon nom est Martin Le texte en HTML et celui en PHP. "); ?> Le texte en HTML et celui en PHP. On peu écrire la même chose en php et en html.
3/ b) Récupérer des variables Il est possible en php de récupérer les variables d’un formulaire. Couleur: Vitesse:
3/ C) Display.php display.php est la page sur laquelle les variables $couleur et $vitesse sont envoyées. Le lapin $couleur court dans le jardin à une vitesse de $vitesse "); ?> Le lapin blanc court dans le jardin à une vitesse de 33 Km/h
3/ d) Verifier les variables Un autre exemple Titre: URL:
3/ e) Verif.php Voici le code à utiliser dans verif.php Le ' Titre ' est vide ! "); exit(); } // vérification du début de l'url $verif_url = strtolower($url); $verif_url = substr("$verif_url", 0, 7); // on verifie les 7 premiers caractères if ($verif_url!=" { print("L'URL doit commencée par "); exit(); } else { print("$titre : $url "); } ?> Erreur n°1: Le 'Titre' est vide ! Erreur n°2: L'URL doit commencer par Si pas d'erreur : Titre : URL Resultat
4/ a) Base de données MySQL En php, il est possible de stocker les variables saisies sur un formulaire dans une base de données. MySQL est le nom du type de base de données le plus utilisé sur internet. MySQL Formulaire Page de lecture
4/ b) Créer sa premiere table SQL Accèder à votre base de données MySQL, via l’interface phpMyAdmin CREATE TABLE clients (id INT not null AUTO_INCREMENT, prenom VARCHAR (50) not null, nom VARCHAR (50) not null, ne_le DATE not null, ville VARCHAR (90) not null, enfants INT not null, PRIMARY KEY (id)) Cette commande crée une table nommée 'clients' comportant les champs ci-dessous:
4/ d) Les champs de la table CREATE TABLE clients (id INT not null AUTO_INCREMENT, prenom VARCHAR (50) not null, nom VARCHAR (50) not null, ne_le DATE not null, ville VARCHAR (90) not null, enfants INT not null, PRIMARY KEY (id)) L’ID permet de classer nos enregistrements, l'auto-increment se charge d'affecter un nouveau numéro aux nouveaux enregistrements. Type des champs: INT: Entier de 0 à (unsigned) BIGINT: Entier de 0 à (unsigned) CHAR: Chaîne de caractère de taille fixe, va de 1 à 255 caractères VARCHAR: Chaîne de caractère de taille variable, va de 1 à 255 caractères LONGTEXT: Un objet BLOB ou TEXT, longueur maximale de ETC… (voir internet)
4/ e) Interroger une table MySQL Code minimum pour interroger une table: Donne à l’écran: « Il y a 5 enregistrement(s) dans la table Clients. » NB: La fonction Mysql_query() permet de passer une requête SQL vers la base de données, c'est évidement l'un des attraits intéressant de PHP (notez que nous initialisons au passage la variable $req qui contient la requête).
4/ f) Insertion de données via phpMyAdmin Creons une table famille_tbl: CREATE TABLE famille_tbl ( id int(11) NOT NULL auto_increment, nom varchar(255) NOT NULL, prenom varchar(255) NOT NULL, statut varchar(255) NOT NULL, date date DEFAULT ' ' NOT NULL, PRIMARY KEY (id), KEY id (id), UNIQUE id_2 (id) ); Rentrons y des données: INSERT INTO famille_tbl VALUES( '', 'Dupond', 'Grégoire', 'Grand-père', ' '); INSERT INTO famille_tbl VALUES( '', 'Dupond', 'Germaine', 'Grand-mère', ' '); INSERT INTO famille_tbl VALUES( '', 'Dupond', 'Gérard', 'Père', ' '); INSERT INTO famille_tbl VALUES( '', 'Dupond', 'Marie', 'Mère', ' '); INSERT INTO famille_tbl VALUES( '', 'Dupond', 'Julien', 'Fils', ' '); INSERT INTO famille_tbl VALUES( '', 'Dupond', 'Manon', 'Fille', ' ');
4/ g) Afficher les données sur une page '.$sql.' '.mysql_error()); // on fait une boucle qui va faire un tour pour chaque enregistrements while($data = mysql_fetch_array($req)) { // on affiche les informations de l'enregistrements en cours echo ' '.$data['nom'].' '.$data['prenom'].' ('.$data['statut'].')'; echo ' date de naissance : '.$data['date'].' '; } // on ferme la connexion à mysql mysql_close(); ?>
4/ g) Et cela donne Dupond Grégoire (Grand-père), date de naissance : Dupond Germaine (Grand-mère), date de naissance : Dupond Gérard (Père), date de naissance : Dupond Marie (Mère), date de naissance : Dupond Julien (Fils), date de naissance : Dupond Manon (Fille), date de naissance : Le résultat aurait été classé par ordre alphabétique des prénoms si on avait mis dans le code précèdent la commande: $sql = 'SELECT nom,prenom,statut,date FROM famille_tbl ORDER BY prenom'; Afficher que les prénoms commençant par M: $sql = "SELECT nom,prenom,statut,date FROM famille_tbl WHERE prenom LIKE 'M%'";
4/ h) Alimenter une table via formulaire html On fait un formulaire:
4/ h) Alimenter une table via formulaire html Comme vous le savez maintenant la variable de chacun des champs reprend le "name" précédé du signe dollar ($), dans notre cas voici les 4 variables : $nom, $prenom, $ , et $url. Code de add.php3: '.mysql_error()); // on affiche le résultat pour le visiteur echo 'Vos infos on été ajoutées.'; mysql_close(); // on ferme la connexion ?>
4/ h) Lire les données insérées <? $db = mysql_connect( 'login', 'password'); mysql_select_db('nom_de_la_base',$db); $sql = "SELECT * FROM infos_tbl"; $req = mysql_query($sql) or die('Erreur SQL ! '.$sql.' '.mysql_error()); while ($val = mysql_fetch_array($req)) { $nom = $val["nom"]; $prenom = $val["prenom"]; $ = $val[" "]; $url = $val["url"]; // attention on ne ferme pas la boucle mais juste le code php pour dire que ce qui suit est de l’html… ces codes rentrent donc dans la boucle. ?> Nom: Prenom: URL: <? } // on ferme la boucle ici. mysql_close(); ?>
Quelques liens Exos, exemples, etc… Très détaillé et très simple d’accès! Site officiel (la plupart des pages sont en anglais)