1) Introduction
Bonjour

Tout d'abord, PHP signifie
Hypertext
Pre
Processor, c'est à dire que c'est un langage qui s'exécute avant le HTML.
En effet le code PHP est interprété du coté serveur pour ensuite renvoyer du HTML qui est affiché par le navigateur. Vous ne trouverez donc aucune trace de PHP dans la page finale affichée par le navigateur.
Afin de pouvoir utiliser le PHP vous devez englober votre code des balises:
<?php code php; ?>
Ce langage permet de rendre automatiques des tâches répétitives, et communique le plus souvent avec une base de donnée. utilisant généralement MYSQL et le langage SQL. Attention, MYSQL est le SGBD (Systeme de Gestion de Base de Données) et non pas le langage
A quoi sert une base de données ? Et bien a stocker les informations qui ont été produites par le script PHP comme des entrées de formulaires par exemple. Vous pouvez aussi stocker ces informations dans un fichier texte placé sur le serveur mais la BD (Base de Données) s'avère plus pratique.
1.1) Travailler avec PHP en local
Pour travailler avec PHP en local c'est a dire sans etre connecté à internet, vous devez utiliser un logiciel qui va installer Apache, mysql et autres sur votre ordinateur. Il y a plusieurs intérêts a travailler de cette façon:
- Vous n'avez pas besoin d'envoyer systématiquement vos fichiers sur le FTP pour voir le résultat;
- Vous pouvez tester vos scripts et voir leur résultat sans faire planter le site qui est en ligne et qui peut etre visité
Vous avez le choix entre plusieurs logiciels:
-
WAMP (celui que j'utilise)
-
EASY PHP
-
MOV'AMP.
Avec ces différents logiciels, vous pouvez vous connecter a phpmyadmin (en local) afin de pouvoir gérer votre base de données.
2) Les bases
2.1) Les variables
Une variable associe un nom ou un symbole à une valeur qui peut varier au cours du temps.
Vous n'avez pas besoin de déclarer les variables comme c'est le cas dans d'autres langages comme C++. Pour utiliser une variable, vous devez lui donner un nom précédé d'un " $ ". Exemple:
<?php $ma_variable = 0; ?>
Le nom de la variable ne doit pas comporter d'espaces.
2.2) Les structures de contrôle
L'instruction if()
L'instruction if permet l'exécution conditionnelle d'une partie du code. Voici la syntaxe:
if(argument)
commandes
Si les commandes tiennent sur plusieurs lignes, vous devez les englober d'accolades. Si vous n'effectuez qu'une seule commande, vous pouvez omettre ces accolades.
L'argument retourne TRUE ou FALSE. S'il retourne TRUE, les commandes suivants directement IF seront exécutées. S'il retourne FALSE, les commandes suivant ELSE seront exécutées.
Un petit exemple
<?php
//Si la valeur de la variable a est plus grande que la valeur de la variable b alors:
if($a > $b)
echo"a est plus grand que b";
//Sinon
else
echo"b est plus grand que a";
?>
L'instruction for()
L'instruction for est une boucle permettant de traiter une action répétitive à l'aide d'une variable qui est incrémentée a chaque passage. Voici la syntaxe de la boucle:
for(arg1;arg2;arg3)
commandes
Prenons à titre d'exemple la variable $i.
<?php
for($i=0;$i<=10;$i++)
{
echo $i;
}
?>
Voici ce que donne la "traduction"
de ($i égal 0 jusqu'à $i égal 10 en augmentant $i de 1) { on affiche $i }

Il faut savoir que ++ à la suite d'une variable est un raccourci qui ajoute 1 à la valeur de la variable. De même pour -- qui ajoute -1 à la valeur de la variable.
Ici, votre boucle affiche donc les chiffres de 0 à 10 sur votre page
L'instruction while()
L'instruction while est un autre type de boucle moins "précis" que la boucle for permettant d'executer une ou des commandes tant que les arguments sont vrai. Voici sa syntaxe:
while(argument)
commandes
Un petit exemple bien sûr:
<?php
$i = 0;
while($i<=10)
{
echo $i++;
}
?>
Cette boucle aura le meme résultat que la boucle for, qui est d'afficher les chiffres de 0 à 10.
Il existe bien sûr d'autres structures de contrôle telles que foreach, switch,... mais qui sont moins utilisées.
2.3) Utilisation d'une base de données.
SQL est le langage vous permettant d'interagir entre le PHP et la base de données.
Pour utiliser la base de données vous devez vous connecter a phpmyadmin, soit par le logiciel vous permettant de gérer votre site en local soit par l'adresse de votre hebergeur.
Par exemple pour free, l'adresse du serveur MYSQL est
http://sql.free.fr
Dans une base de données, vous pouvez créer des tables qui comportent des champs servant a enregistrer et a classer les données. Un petit exemple de table:
table membres - type (taille)
id int (11)
login (50)
pass (50)
L'id sert a indexer les entrées. Le champ est id est la plupart du temps affecté d'un auto_increment Maintenant pour insérer des données dans cette table via PHP, il faut utiliser le langage SQL. Les requêtes les plus utilisées sont pour insérer, mettre à jour, supprimer, sélectionner des données.
Requête d'insertion
Voici la syntaxe d'une requête pour insérer les données:
INSERT into `nom_table` (champ1,champ2,champ3) values ('valeur1','valeur2','valeur3')
Requête de suppression
Syntaxe:
DELETE * from `nom_table` WHERE id='numero'
Cette requête supprimera la ligne correspondant au numéro du champ id. L'étoile * signifie ALL, c'est a dire que la requête devra supprimer tous les champs.
2.4) Exemple d'un script
L'exemple le plus basique pour insérer des données dans la base de données, est la création d'un espace membre
Nous allons voir ici
l'inscription des membres.
On va donc créer un formulaire comportant ces 3 champs: Login, adresse email et mot de passe. Voici le code HTML du formulaire :
<form action="inscription.php" method="post">
Login: <input type="text" name="login" />
Mot de passe: <input type="password" name="pwd" />
<input type="submit" name="ok" value="OK" />
</form>
Nous allons maintenant créer la page
inscription.php
Voici donc le code que nous allons commenter ensuite.
<?php
require('config.php');
if(isset($_POST['ok']) && $_POST['ok']!="")
{
$sql = "INSERT INTO membres (login,pwd) VALUES ('".$_POST['login']."','".$_POST['pwd']."')";
$req = mysql_query($sql) or die(mysql_error());
echo $_POST['login']." votre inscription a été prise en compte.";
}
else
echo"Erreur dans l'envoi du formulaire";
?>
A la 2eme ligne du script on appelle un fichier de configuration nommé config.php qui donne les variables de connection à mysql

un petit exemple
<?php
$host = "sql.free.fr";
$login = "login";
$pwd = "mot de passe";
$base ="nom de la base";
mysql_connect($host,$login,$pwd) or die(mysql_error());
mysql_select_db($base) or die(mysql_error());
?>
Il faut savoir qu'il existe deux types de fonction d'inclusion; la fonction include(); et la fonction require(); La fonction require(); affiche un message d'erreur lorsque le fichier est introuvable alors que la fonction include(); affiche un simple warning.
Ensuite grâce a cette ligne de code,
<?php if(isset($_POST['ok']) && !empty($_POST['ok']) ?>
Nous vérifions que le bouton OK est bien " enregistré " dans le tableau $_POST.
En effet, $_POST[] est un tableau qui regroupe toutes les informations envoyés par le formulaire.
!= est un signe qui signifie "différent de" comme pour == qui signifie "est égal à" il existe aussi === qui signifie aussi "est égal à" mais les valeurs comparées doivent être du même "type".
<?php
$sql = "INSERT INTO membres (login,pwd) VALUES ('".$_POST['login']."','".$_POST['pwd']."')";
?>
Ensuite nous rédigeons la requête SQL qui est nécessaire pour insérer les données postées dans la BDD.
<?php echo $_POST['login']." votre inscription a été prise en compte."; ?>
Ensuite on affiche un message de confirmation grâce a la fonction echo();