25
Présenté par COMTE Jeremy Présenté par COMTE Jeremy et DE LAZZARI Thomas et DE LAZZARI Thomas

Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

Embed Size (px)

Citation preview

Page 1: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

Présenté par COMTE JeremyPrésenté par COMTE Jeremy

et DE LAZZARI Thomaset DE LAZZARI Thomas

Page 2: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

SommaireSommaire

Présentation généralePrésentation générale IncludeInclude Notion de variablesNotion de variables MySQLMySQL

Page 3: 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érale1/ a) Présentation générale

PHP est un langage dynamiquequi 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...

Page 4: 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/ b) Faire de l ’HTML1/ 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.

Page 5: 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/ c) Les premiers codes1/ c) Les premiers codes

Page 6: 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/ d) Quelques codes1/ d) Quelques codes

<br> Saut de ligne

<img src ="lapin.jpg" alt="Le lapin" border="0">Insertion d’une image

<a href="cochon_dinde.html">Le cochon d’inde</a>Un lien hypertexte

<table border="1" bordercolor="#FF0000"><tr><td>LAPIN</td><td>le lapin court dans la forêt</td></tr></table>

Page 7: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

2/ 1) Premiers pas: Include2/ 1) Premiers pas: Include

<table width="900" border="0"><tr>

<td width="200" valign="top" bgcolor="#FF0000"><? include('menu_gauche.php'); ?></td>

<td width="700" valign="top" bgcolor="#00FF00"><? include('home.php'); ?></td></tr></table>

home.php

menu_gauche.php

Page 8: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

2/ b) Applications des bases2/ b) Applications des bases

Quels sontles codes phpet html qui structurent ce site ?

Combien faut-il de page pour faire ce site en utilisant include( ) ?

Page 9: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

3/ a) Notion de base3/ a) Notion de base

Comme en C, on peut utiliser des variables en php!Voici un exemple tout bête:<? $nom = "Martin";

echo "Mon nom est $nom"; ?>

Mon nom est Martin

<html><body><font size="2" face="Arial">Le texte en HTML</font><?print("<font size=\"2\" face=\"Arial\"> et celui en PHP.</font>");?>

Le texte en HTML et celui en PHP.

On peu écrire la même chose en php et en html.

Page 10: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

3/ b) Récupérer des variables3/ b) Récupérer des variables

Il est possible en php de récupérer les variables d’un formulaire.

<html><body><form method="post" action="display.php">Couleur: <input type="text" name="couleur" size="20"><br>Vitesse: <input type="text" name="vitesse" size="20"><br><input type="submit" value="OK"></form></body></html>

Page 11: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

3/ C) Display.php3/ C) Display.php

display.php est la page sur laquelle les variables $couleur et $vitesse sont envoyées.

<?print("<center>Le lapin $couleur court dans le jardin à une vitesse de $vitesse</center>");?>

Le lapin blanc court dans le jardin à une vitesse de

33 Km/h

Page 12: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

3/ d) Verifier les variables3/ d) Verifier les variables

Un autre exemple

<html><body><form method="post" action="verif.php">Titre: <input type="text" name="titre" size="20"><br>URL: <input type="text" name="url" size="20" value="http://"><br><input type="submit" value="OK"></form></body></html>

Page 13: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

3/ e) Verif.php3/ e) Verif.php

Voici le code à utiliser dans verif.php<?if(empty($titre)){print("<center>Le '<b>Titre</b>' est vide !</center>");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èresif ($verif_url!="http://"){print("L'URL doit commencée par <b>http://</b>");exit();}else{print("$titre : <a href=\"$url\">$url</a>");}?>

Erreur n°1: Le 'Titre' est vide !Erreur n°2: L'URL doit commencer par http://

Si pas d'erreur : Titre : URL

Resultat

Page 14: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

4/ a) Base de données 4/ a) Base de données MySQLMySQL

En php, il est possible de stocker les variables saisies surun 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 delecture

Page 15: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

4/ b) Créer sa premiere table 4/ b) Créer sa premiere table SQLSQL

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:

Page 16: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

4/ d) Les champs de la table4/ 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 à 4294967295 (unsigned)BIGINT: Entier de 0 à 18446744073709551615 (unsigned)CHAR: Chaîne de caractère de taille fixe, va de 1 à 255 caractèresVARCHAR: Chaîne de caractère de taille variable, va de 1 à 255 caractèresLONGTEXT: Un objet BLOB ou TEXT, longueur maximale de 4294967295

ETC… (voir internet)

Page 17: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

4/ e) Interroger une table 4/ e) Interroger une table MySQLMySQL

Code minimum pour interroger une table:

<? $db = mysql_connect( '@serveur', 'login', 'password');mysql_select_db('nom_de_la_base',$db);$req = mysql_query('SELECT * FROM clients');$res = mysql_numrows($req);echo 'Il y a '.$res.' enregistrement(s) dans la table Clients.';mysql_close($db);

?>

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).

Page 18: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

4/ f) 4/ f) Insertion de données via Insertion de données via phpMyAdminphpMyAdmin

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 '0000-00-00' 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', '1932-05-17');INSERT INTO famille_tbl VALUES( '', 'Dupond', 'Germaine', 'Grand-mère', '1939-02-15');INSERT INTO famille_tbl VALUES( '', 'Dupond', 'Gérard', 'Père', '1959-12-22');INSERT INTO famille_tbl VALUES( '', 'Dupond', 'Marie', 'Mère', '1961-03-02');INSERT INTO famille_tbl VALUES( '', 'Dupond', 'Julien', 'Fils', '1985-05-17');INSERT INTO famille_tbl VALUES( '', 'Dupond', 'Manon', 'Fille', '1990-11-29');

Page 19: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

4/ g) Afficher les données sur 4/ g) Afficher les données sur une pageune page

<? // on se connecte à MySQL $db = mysql_connect( '@serveur', 'login', 'password');// on séléctionne la base mysql_select_db('nom_de_la_base',$db); // on créer la requete SQL et on l'envoie $sql = 'SELECT nom,prenom,statut,date FROM famille_tbl'; // on envoie la requete $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.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 '<b>'.$data['nom'].' '.$data['prenom'].'</b> ('.$data['statut'].')'; echo ' <i>date de naissance : '.$data['date'].'</i><br>'; } // on ferme la connexion à mysql mysql_close();

?>

Page 20: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

4/ g) Et cela donne4/ g) Et cela donne

Dupond Grégoire (Grand-père), date de naissance : 1932-05-17Dupond Germaine (Grand-mère), date de naissance : 1939-02-15Dupond Gérard (Père), date de naissance : 1959-12-22Dupond Marie (Mère), date de naissance : 1961-03-02Dupond Julien (Fils), date de naissance : 1985-05-17Dupond Manon (Fille), date de naissance : 1990-11-29

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%'";

Page 21: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

4/ h) 4/ h) Alimenter une table via Alimenter une table via formulaire htmlformulaire html

On fait un formulaire:<html><form method="POST" action="add.php3"><center><input type="text" name="nom" size="20" value="nom" maxlength="35"> <input type="text" name="prenom" size="20" value="prenom" maxlength="35"><br><input type="text" name="email" size="20" value="email" maxlength="70"> <input type="text" name="url" size="20" value="url du site" maxlength="255"><br><input type="submit" value="Envoyer" name="envoyer"></center></form></html>

Page 22: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

4/ h) 4/ h) Alimenter une table via Alimenter une table via formulaire htmlformulaire 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, $email, et $url.

Code de add.php3:

<? $db = mysql_connect( '@serveur', 'login', 'password'); // connexion à la base mysql_select_db('nom_de_la_base',$db); // sélection de la base

// on ecris la requete sql $sql = "INSERT INTO infos_tbl VALUES('','$nom','$prenom','$email','$url')";

// on insère les informations du formulaire dans la table mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

// on affiche le résultat pour le visiteur echo 'Vos infos on été ajoutées.';

mysql_close(); // on ferme la connexion

?>

Page 23: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

4/ h) 4/ h) Lire les données inséréesLire les données insérées

<html><body><? $db = mysql_connect( '@serveur',  'login',  'password'); mysql_select_db('nom_de_la_base',$db); $sql = "SELECT * FROM infos_tbl";$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); while ($val = mysql_fetch_array($req)) { $nom = $val["nom"]; $prenom = $val["prenom"]; $email = $val["email"]; $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: <? echo $nom; ?><br>Prenom: <? echo $prenom; ?><br>Email: <? echo $email; ?><br>URL: <? echo $url; ?><br><?} // on ferme la boucle ici.mysql_close(); ?></body></html>

Page 24: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL

Quelques liensQuelques liens

www.phpdebutant.com: Exos, exemples, etc…Très détaillé et très simple d’accès!

www.php.net: Site officiel (la plupart des pages sont en anglais)

Page 25: Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL