Azax-basics
Support de cours approfondie sur Ajax
...
Qu'est‐ce que PHP?
- PHP signifie P HP: H ypertext P reprocessor
- PHP est un langage de script côté serveur , comme l'ASP
- Les scripts PHP sont exécutés sur le serveur
- PHP supporte de nombreuses bases de données (MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, ODBC génériques, etc)
- PHP est un logiciel open source
- PHP est gratuit à télécharger et à utiliser
Qu'est‐ce que qu’un fichier PHP ?
- Les fichiers PHP peuvent contenir du texte, des balises HTML et des scripts
- Les fichiers PHP sont retournés au navigateur HTML
- Les fichiers PHP ont une extension de fichier ".
Php", ". Php3", ou ". Phtml"
Qu'est‐ce que MySQL?
- MySQL est un serveur de base de données
- MySQL est idéal pour les petites et les grandes applications
- MySQL supporte la norme SQL
- MySQL compile sur un certain nombre de plates‐formes
- MySQL est gratuit à télécharger et à utiliser
- PHP associé à MySQL sont multi‐plateforme (vous pouvez développer sous Windows et déployer sous Unix)
Pourquoi PHP ?
- PHP fonctionne sur différentes plates‐formes
(Windows, Linux, Unix, etc)
- PHP est compatible avec presque tous les serveurs utilisés aujourd'hui (Apache, IIS, etc)
- PHP est gratuit à télécharger sur www.php.net
- PHP est facile à apprendre et fonctionne de manière efficace côté serveur
Syntaxe de base en PHP
- Un bloc de script PHP commence par
- Un bloc de script PHP peut être placé n'importe où dans le document.
- Certains serveurs supportent la syntaxe
-
Pour une compatibilité maximale, il est recommandé d'utiliser la forme standard (
- Chaque ligne de code en PHP doit se terminer par un point‐virgule
- La virgule est un séparateur et est utilisée pour distinguer une série d'instructions d'une autre
Commentaires en PHP
- En PHP, on utilise // pour faire une seule ligne
de commentaire ou /* et */ pour un bloc
Les variables en PHP
- Les variables sont utilisées pour stocker des valeurs, comme les chaînes de texte, des chiffres ou des tableaux
- Quand une variable est définie, elle peut être utilisé plusieurs fois dans votre script
- Toutes les variables en PHP débutent par le symbole $
Variables PHP non typées
- En PHP, une variable PHP n'a pas besoin d'être déclarée avant d'être fixé
- Dans l'exemple précédent, on a pas besoin de définir le type de données que va contenir la variable
- PHP convertit automatiquement la variable au bon type de données, selon la façon dont ils sont fixés (comme en javascript)
Variables : règles de nommage
- Un nom de variable doit commencer par une lettre ou un caractère de soulignement "_ »
- Un nom de variable ne peut contenir que des caractères alphanumériques et des traits de soulignement (az, AZ, 0‐9 et _)
- Un nom de variable ne devrait pas contenir d'espaces
- Si un nom de variable est en plusieurs mots, il devra être séparé par le caractère de soulignement ($my_string), ou avec majuscule
($maChaine)
Chaînes de caractères
- Exemple :
- Concaténation (.) :
- Longueur d’une chaîne (strlen()) :
- Position d’une sous‐chaîne (strpos()) :
Opérateurs en PHP
- Opérateurs arithmétiques
Opérateurs en PHP
- Opérateurs d’affectation
Opérateurs en PHP
- Opérateurs de comparaison
Opérateurs en PHP
- Opérateurs logiques
If…else en PHP
- Syntaxe
- Exemples :
if (condition)
code to be executed if condition is true;
else
code to be executed if condition is false;
elseif en PHP
… …
Fonctions en PHP
- Une fonction est un bloc de code qui peut être exécuté à chaque fois nous en avons besoin
- Création de fonctions en PHP:
– Toutes les fonctions commencent par le mot ’function ()’
– Le nom des fonctions doit être explicite
– Les noms de fonctions commencent par une lettre ou underscore
– () pour définir les paramètres
– {} pour le corps de la fonction
Exemple
Paramètres de fonctions
Valeur de retour d’une fonction
Formulaires et champs d’entrée
- Exemple :
- Le fichier welcome.php :
Name:
Age:
Welcome .
You are years old.
$_GET, $_POST, $_REQUEST
- Suivant la manière d’envoyer les données sur le serveur, on utilisera soit $_GET soit $_POST afin de récupérer les champs et valeurs des formulaires
- $_REQUEST contient à la fois $_GET, $_POST et $_COOKIE
PHP avancé : quelques fonctions Date() en PHP
- Syntaxe : date (format, timestamp)
– Format : spécifie le format d’horodatage
– Timestamp : temps écoulé depuis le 01/01/70 (facultatif)
- Exemple :
- mktime (heure, minute, seconde, jour, mois, année, is_dst) :
pour définir un timestamp
Inclure des fichiers en PHP
- Syntaxe : include(url)
- Exemple :
Welcome to my home page
Some text
Inclure des fichiers en PHP
- Permet facilement de faire un squelette d’un site web
- Exemple :
Inclure des fichiers en PHP
- Syntaxe : require(url)
- Lors d’une erreur, la fonction include() permet de continuer le chargement de la page
- require() arrête complètement celui ci
- Exemple :
Inclure des fichiers en PHP
- Sortie avec include :
- Et avec require :
Warning: include(wrongFile.php) [function.include]:
failed to open stream:
No such file or directory in C:\home\website\test.php on line 5
Warning: include() [function.include]:
Failed opening 'wrongFile.php' for inclusion
(include_path='.;C:\php5\pear')
in C:\home\website\test.php on line 5
Hello World!
Warning: require(wrongFile.php) [function.require]:
failed to open stream:
No such file or directory in C:\home\website\test.php on line 5
Fatal error: require() [function.require]:
Failed opening required 'wrongFile.php'
(include_path='.;C:\php5\pear')
in C:\home\website\test.php on line 5
Ouverture/fermeture de fichiers en
PHP
- Syntaxe open(file,mode)
– File : url du fichier
– Mode parmi r,r+,w,w+,a,a+,x,x+
- Exemple :
- Fermeture : fclose()
Fin de fichier et lecture en PHP
- Tester la fin d’un fichier : feof($file)
- Lecture ligne par ligne : fgets($file)
- Lecture caractère par caractère : fgetc($file)
- Exemple :
if (feof($file)) echo "End of file";
Upload de fichiers en PHP
- Formulaire d’upload :
- Script d’upload (serveur):
enctype="multipart/form‐data">
Filename:
Upload de fichiers en PHP
- On récupère ensuite le fichier sur le serveur grâce
à la variable $_FILES (tableau à deux dimensions)
– * $_FILES["file"]["name"] : nom du fichier
– * $_FILES["file"]["type"] : type du fichier
– * $_FILES["file"]["size"] : taille en octets du fichier
– * $_FILES["file"]["tmp_name"] : nom temporaire du
fichier sur le serveur
– * $_FILES["file"]["error"] : code d’erreur
Upload de fichiers en PHP
-
Sauvegarde du fichier :
…
Envoyer des e‐mails en PHP
- La fonction mail : mail(to,subject,message,headers,parameters)
– To : l’adresse du destinataire
– Subject : le titre du mail
– Message : le corps du message (\n pour une nouvelle ligne (limite 70 caractères))
– Headers : entêtes spécifiques (comme cc et Bcc)
– Parameters : (paramètres spécifiques pour le serveur de mail)
- Pour pouvoir l’utiliser il faut obligatoirement qu’un serveur de
mail soit installé (ex: sendmail)
Envoyer des e‐mails en PHP
-
Exemple (simple mail):
Envoyer des e‐mails en PHP
- Récupération à partir d’un formulaire:
Injections e‐mail
- Dans l’exemple précédent : il est possible de modifier l’entête de la requête afin d’envoyer un mail à plusieurs personnes
- Utilisation de le fonction filter_var($field,param)
– $field : variable à vérifier
– Param :
- FILTER_SANITIZE_EMAIL : supprime les caractères illégaux
- FILTER_VALIDATE_EMAIL : valide ou non la chaîne comme un mail valide
- Plus d’informations :
Intercepter des erreurs en PHP
- Exemple : on veut ouvrir un fichier qui n’existe pas
- Utilisation de la fonction die() :
- Possibilité de définir ses propres interceptions et déclencheurs
Warning: fopen(welcome.txt) [function.fopen]: failed to open stream:
No such file or directory in C:\webfolder\test.php on line 2
Exceptions en PHP
-
Exemple :
Filtres en PHP
- Mécanisme permettant de vérifier la validité de certains champs, informations
- Exemple (test d’un entier) :
- D’autres filtres :
MySQL
- Introduction
- Connexion à une base de données
- Création de tables
- Sélection d’informations dans une BD (where,
order by)
- Insertion/maj/suppression d’éléments dans une BD
Connexion à une base de données
MySQL
- mysql_connect(server,user,password)
– Server : localhost:3306 (le port est modifiable)
– User : le login
– Password : un mot de passe si définit
- Exemple :
Déconnexion de MySQL
- mysql_close($con)
- Exemple :
Création DB/tableaux
- mysql_query(‘requete’,$con)
- Pour une base de données :
Création DB/tableaux
- Pour un tableau :
- La DB doit exister et être sélectionnée pour
créer la table
mysql_select_db("my_db", $con);
$sql = "CREATE TABLE Persons
(
FirstName varchar(15),
LastName varchar(15),
Age int
)";
// Execute query
mysql_query($sql,$con);
Création DB/tableaux
- Pour un tableau (avec clé primaire) :
$sql = "CREATE TABLE Persons
(
personID int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(personID),
FirstName varchar(15),
LastName varchar(15),
Age int
)";
mysql_query($sql,$con);
Insert MySQL
-
Exemple :
Insert MySQL
- Avec un formulaire :
- Le fichier insert.php :
Firstname:
Lastname:
Age:
Select MySQL
- Exemple 1 :
Select MySQL
- Exemple 2 :
