tutorial PHP
Langage PHP
Le PHP est un langage Permettant la gestion de tache diverses avec l'aide de base de donnée par exemple on peut créer un Forum, un livre d'or, un tchat ou même un blog , les exemples sont très nombres. Pour que ce langage fonctionne il faut charger la page contrairement au JavaScript. Si l'on doit charger la page pour que le code PHP fonctionne c'est tout simplement que le code s’exécute sur le serveur (a l’adresse ou vous consulter les pages) et non sur votre PC. Au moment ou l'on demande la page au serveur, cette page est calculé et ensuite envoyer sur votre PC. Votre PC affiche bêtement le résultat que le code PHP a engendré.
Nous allons bientôt commencer a coder mais pour l'instant votre pc ne peut pas lire les fichier php car votre pc ne fait pas serveur alors pour remédier a sa on va utiliser le logiciel Wamp Serveur. Télécharger le et installer le sans rien changer. Une fois installer vous devez avoir sur le disque dur c: un dossier Wamp ,dans ce dossier il y a un dossier qui s'appel WWW. Dans le dossier WWW créer un dossier en l'appelant Projet ou un autre nom si sa ne vous plait pas, c'est dans ce dossier que j'ais nommé Projet que nous allons faire nos exemples. Sur un serveur, une page nommé index est lancé automatiquement, si vous désirer utiliser la même page pour tout les exemples a tester cela sera plus rapide mais moins organiser donc a vous de voir. Dans le dossier c:\\wamp\\www\\projet créer un fichier index.php. Démarrer WampServeur (si tout vas bien une icone en bas a droite apparait commencent en rouge puis ensuite en jaune pour finir en blanc ). Démarrer votre navigateur et entrer cette adresse : http://localhost/Projet/index.php et la une page blanche apparait normal notre page est pour l'instant vierge. Ouvrer le fichier index.php avec bloc note mais si vous désirer vous y retrouver télécharger et utiliser plutôt notepad++
Comme tout contenue web a afficher il existe des balises, ici une seule balise nous intéressera c'est <?php?> c'est dans cette balise que nous écriront le code PHP, exemple<?php ici on écrit le code PHP ?>.
Pour afficher, on utilise echo suivit d'une chaine de caractère ou des chiffres, cette function d'affichage doit toujours ce terminer par un ; pour pouvoir écrire d'autre function exemple:
Ecrire une CHAINE de CARACTERE
<?php
echo 'Dream3D Informatique';
?>
Pour assembler 2 chaines on utilise le point :
<?php
echo 'Dream3D' . ' Informatique';
?>
On peut aussi insérer des balises HTML
Pour assembler 2 chaines on utilise le point :
<?php
echo 'Dream3D' . ' <br />Informatique';
?>
Pour créer une variable on commence par $ et l'on colle a ça le nom de votre variable comme ceci:
$MaVariable Exemple:
<?php
$MaVariable = 'Dream3D Informatique';
echo $MaVariable;
?>
Attention la c'est plus compliquer. Par moment il nous arrive de vouloir créer une variable sans écrire le nom d'une variable. Donc nous mettrons une variable pour déterminer le nom de la variable et cette variable devra commencer par ça $ exemple :
<?php
$NomDeLaVariable = 'MaVariable';
$$NomDeLaVariable='Coucou !!! ';
echo $MaVariable;
?>
La Condition IF
Nous passons maintenant a l'incontournable en programmation, c'est la CONDITION. Elle nous permet de créer des réactions par exemple dans la vie le PC s'allumer SI et surtout SI il y a de l’électricité. Grace au Si la condition est faite En Programmation nous utiliserons IF et ELSE pour SINON.
La syntaxe a respecter est comme suit:
if ( variable respectant une différence ou une égalité) { alors je fait tel ou tel chose }
un exemple concret :
<?php
$age = 18 ;
if ( $age > 17){
echo 'Je suis Majeur lol !!!';
}else{
echo 'je suis Mineur -_-';
}
?>
il existe d'autre comparaison que le plus grand que comme :
< plus petit que
== est egale a
|| condition1 OU condition2
&& ET
!= Différent de
Exemple avec le ET :
<?php
$age = 17 ;
$heure=23 ;
if ( $age > 17 && $heure > 23){
echo 'Je Peut aller un boite de nuit';
}else{
echo "je suis Mineur je n'ais pas le droit -_-";
}
?>
Exemple avec le OU ( alt Gr + 6) avec commentaire grâce a // exemple :
<?php
// Je vis chez mes parents. je peut rentrer Si j'ai la clé OU si mes Parents sont là
// False pour faux et true pour vrai
$ParentRentrer = true ;
$JaiLaClé= false;
if ( $ParentRentrer == true || $JaiLaClé == true){
echo 'Cool. Je Peut rentrer chez mes parents :)';
}else{
echo "Mince jai oublier la clé et mes parents ne sont pas la -_-";
}
?>
Le Formulaire
Quant l'on parle de Formulaire sa peut être plusieurs éléments HTML qui nous permettes de récupérer des valeurs sur notre serveur comme des textes, des nombres, un mot de passe, un fichier. Quand je parle d'élément cela peut être une liste déroulante (select) un texte a écrire (textarea) et avec la balise input un mot de passe (type password) un champ a remplir (type text) une case a cocher (type checkbox) et bien d'autre. Une fois que notre serveur a reçu une valeur ou plusieurs valeur des éléments composant le formulaire alors c'est valeurs sont transmise vers la page appelé au moment de la validation du formulaire. Chaque valeurs pourra être récupérer dans une variable que l'ont aura nommé avec name précédemment dans notre formulaire.
En HTML pour dire que l'on commence un formulaire, ont commence par :
< form method= action="cible.php">
Méthode post pour transmettre des variables sur la page cible ou alors get pour transmettre dans l'URL les paramètres représentent une variable ou des variables
exemple pour rentrer un mot ou une phase on peut utiliser un input type text :
< form method="post" action="cible.php">
<input />
</form>
Exemple pour rentrer un mot ou une phase on peut utiliser un input type text :
< form method="post" action="cible.php">
<input />
</form>
:) Par contre là vous ne pourrez pas faire grand chose car il vous manque
le bouton valider. La aussi on utilisera une balise input mais avec un type submit et dans value
nous pouvons renseigner l'action du bouton pour que l'utilisateur sache ce que fait le bouton
en général le bouton aura le mot Valider pour valider le formulaire. exemple :
<input value="Valider" />
Voici un exemple complet mais très simple :
<?php
?>
<html>
<head></head>
<body>
<form method="post" action="index.php"> <!--la page demander pour la validation du formulairer s'appelle index.php -->
<input size= "20" />
<input value="Valider" />
</form>
</body>
</html>
Voici d'autre exemple pour construire votre formulaire :
Le mot de passe :
<INPUT TYPE="password" NAME ="Mot_de_passe" >
Le champ est déjà remplit par value et cacher par type hidden :
<INPUT TYPE="hidden" NAME="cacher" value="Valeur cacher">
Le champ pour écrire sur plusieurs ligne rows indique le nombre de lignes et cols le nombre de caractères par ligne :
<?php
if (isset($_POST['commentaires'])) // Si la variable existe
{
// On se crée une commentaires avec la variable Post commentaires
$commentaires = $_POST['commentaires'];
// la function nl2br sert a changer les retours a la ligne de texte en retour a la ligne HTML
// \n en <br />
echo 'Votre le texte est '.nl2br($commentaires);
}else{
echo 'En attente du texte multi ligne';
}
?>
<html>
<head></head>
<body>
<form method="post" action="index.php">
<textarea rows=10 cols=60 >Ecrivez votre texte sur plusieurs lignes</textarea>
<input value="Valider" />
</form>
</body>
</html>
Les case a cocher pouvant avoir plusieurs choix de type checkbox:
<?php
if (isset($_POST['checkbox'])) // Si la checkbox est cocher
{
$checkbox = $_POST['checkbox'];
echo 'Votre checkbox est coché';
}else{
echo 'En attente de l\'état du checkbox';
}
?>
<html>
<head></head>
<body>
<form method="post" action="index.php">
<input value="" />
<input value="Valider" />
</form>
</body>
</html>
Les case a cocher pouvant avoir un seul choix de type radio:
<?php
if (isset($_POST['Difficulter'])) // Si une Difficulter est cocher
{
$Difficulter = $_POST['Difficulter'];
if ( $Difficulter == "F"){
echo "Vous trouver ça Facile";
}else if ($Difficulter == "M" ){
echo "Vous trouver ça Ni facile Ni difficile";
}else if($Difficulter == "D"){
echo "Vous trouver ça Difficile";
}
}else{
echo "En attente de votre réponse...";
}
?>
<html>
<head></head>
<body>
<form method="post" action="index.php">
<strong>Comment trouvez vous ce tutorial ?</strong><BR />
<INPUT VALUE="F" CHECKED >Facile<BR>
<INPUT VALUE="M" >Ni facile Ni dificile<BR>
<INPUT VALUE="D" >Dificile<P>
<INPUT VALUE="submit">
</form>
</body>
</html>
Le bouton de validation afficher sous forme d'image :
<?php
// l'image a été récupérer sur un site internet, si l'image n'apparait pas
// rien ne vous empêche de la changer
?>
<html>
<head></head>
<body>
<form method="post" action="index.php">
<strong>Voici le bouton images</strong><BR />
<input border="0" src="http://www.sogetronic.fr/images/boutons2/bouton_valider_OFF_FR.gif" type="image" Value="submit" align="middle" width="100" style="color: rgb(255, 255, 255)" />
</form>
</body>
</html>
Reprenons la suite du tutorial.
Maintenant il faut récupérer la variable Pseudo avec la page index.php
<?php
if (isset($_POST['Pseudo'])) // Si la variable existe
{
// On se crée une variable $Pseudo avec la variable Post Pseudo
$Pseudo = $_POST['Pseudo'];
echo 'Votre Pseudo est '.$Pseudo;
}else{
echo 'Entrer Votre Pseudo';
}
?>
<html>
<head></head>
<body>
<form method="post" action="index.php">
<input />
<input value="Valider" />
</form>
</body>
</html>
Vous avez vue dans l'exemple du dessus que nous avons la page index avec le formulaire, cette même page est appeler pour recevoir la variable post
Le problème c'est qu'une fois la page fermer les variable sont remis a zéro, alors pour remédier a sa, soit j'utilise un fichier txt tout bête ou alors une base de donnée me permettant a la fois d'enregistrer et de trier ce qui est déjà beaucoup plus pratique.
La BASE De DONNEE
mysql
ATTENTION ! Si vous voulez paramétrer a l'aide d'un seul fichier txt ou mysql c'est paramètres seront alors commun a tous les visiteurs de votre site, Si le but étant de mettre en place des valeurs pour chaque utilisateur alors il faudra passer soit par un tableau appartenant a chaque utilisateur (Encombrement de plusieurs tableaux sur votre serveur) ou passer par des cookies (fichier mis sur le pc du visiteur)
Wamp serveur inclus mysql, pour ci rendre il suffit de faire clic gauche sur l'icone en bas à droite apparut lors du démarrage de wamp serveur et cliquer sur phpMyAdmin. Vous découvrez une nouvelle page web et vers le centre vous devez entrer le nom de la base de donnée qui regroupera tout vos tableaux.
Moi j'ais appeler ma basse de donnée : bdd_test.
Quand on parle de table on parle en faite de tableau, si vous ne comprenez pas ce que je veux dire par tableau alors imaginer quand vous jouer au jeux de société, a la bataille naval, vous deviez dire au hasard par exemple B5 et sa permettait de savoir si votre adversaire avais un bateaux a couler, et bien la c'est pareil, On organise un quadrillage puis dans chaque case on enregistre une valeur ou si sa n'est toujours pas très clair imaginer le logiciel Excel.
Moi j'ais appeler ma table : ma_table avec 3 champ.
Créer une table avec 3 champ ensuite une page apparait vous demandant de remplir le nom du champ et le type et quelques autres qu'ont ne touchera pas
Le premier champ aura le nom ID , il devra enregistrer des chiffres, pour ça je choisis le type int , cocher IA et choisissez index Primary pour que notre ID soit gérer tout seul.
il nous reste 2 champs, le 2eme champ s'appellera Pseudo de type text et le 3eme Mot_de_passe de type text. Sauvegarder
Nous avons notre table représentant 3 colonnes mais il nous manque encore les lignes. Pour qu'une ligne soit créer nous devons enregistrer une valeur pour l'une des colonnes, soit Pseudo ou Mot_de_passe ou les 2 mais pas ID car lui il fait tout, tout seul. Si on enregistre pour la première fois une valeur alors ID enregistrera 1 sur cette même ligne etc ...
Pour insérer une valeur sans passer par php pour l'instant, il faut cliquer sur insérer remplissez le champ Pseudo par le Pseudo de votre choix, moi sa sera Dream3D et mon mot de passe sera informatique, pour enregistrer il faut cliquer sur exécuter. Voila nous avons un tableau que l'on va pouvoir manipuler.
Pour pouvoir manipuler la base de donne nous devons entrer les codes d'accès de la base de donnée wamp server. Par défaut c'est "localhost", "root", et "" exemple:
mysql_connect("localhost", "root", "");
ensuite on sélectionne la base de donnee.
mysql_select_db("bdd_test");
Ensuite on enregistre la table dans une variable
$reponse = mysql_query("SELECT * FROM ma_table");
Ensuite pour lire la première ligne de la table sous forme de tableau on utilise une fois mysql_fetch_array() et une seconde fois pour lire la seconde ligne etc... :
$tableau_reponse = mysql_fetch_array($reponse);
Nous pouvons maintenant demander ce qui est écrit comme Pseudo (sur la première ligne) de cette façon :
echo $tableau_reponse['Pseudo'];
Exemple Complet:
<?php
mysql_connect("localhost", "root", ""); // je me connecte pour avoir accès au base de donnée de wamp
mysql_select_db("bdd_test"); // je sélectionne ma base de donnée
$reponse = mysql_query("SELECT * FROM ma_table"); // je récupère toute la table grâce au signe * qui veut dire sélectionner tout
$tableau_reponse = mysql_fetch_array($reponse); // je récupère la première ligne
echo $tableau_reponse['Pseudo']; // je demande la valeur du Pseudo Pour mon exemple c'est Dream3D
mysql_close(); // je ferme la connexion mysql
?>
Dans l'exemple du dessus vous avez du voir le Pseudo que vous avez enregistrez.
Pour modifier le nom du Pseudo il faut réutiliser la fonction mysql_query() qui nous permet de demander ce que l'on désire a mysql, cela s'appel des requêtes
Nous allons mettre à jour le nouveau Pseudo sur la première ligne Grace a notre colonne ID
mysql_query("UPDATE ma_table SET Pseudo='Dream3D76' WHERE'");
<?php
mysql_connect("localhost", "root", ""); // je me connecte pour avoir accès au base de donnée de wamp
mysql_select_db("bdd_test"); // je sélectionne ma base de donnée
mysql_query("UPDATE ma_table SET Pseudo='Dream3D76' WHERE ID='1'"); // je change le Pseudo ligne 1
$reponse = mysql_query("SELECT * FROM ma_table"); // je récupère toute la table grâce au signe * qui veut dire selectionner tout
$tableau_reponse = mysql_fetch_array($reponse); // je récupère la première ligne
echo $tableau_reponse['Pseudo']; // je demande la valeur du Pseudo Pour mon exemple c'est Dream3D76
mysql_close(); // je ferme la connexion mysql
?>
J'ai bien fait attention de mettre a jour le Pseudo avant de récupérer ma table sinon j'aurais recuperer l'ancien Pseudo
Nosus allons recuperer le dernier exemple complet montrant la variable post . Apres avoir modifié l'exemple pour changer le Pseudo de la base de donnée nous pourrons ainsi fermer la page puis revenir et notre Pseudo sera mémoriser :)
Voici l'exemple complet :
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("bdd_test");
$reponse = mysql_query("SELECT * FROM ma_table");
$tableau_reponse = mysql_fetch_array($reponse); // on récupère la ligne 1
if (isset($_POST['Pseudo'])) // Si la variable existe
{
// On se crée une variable $Pseudo avec la variable Post Pseudo
$Pseudo = $_POST['Pseudo'];
mysql_query("UPDATE ma_table SET Pseudo='$Pseudo' WHERE ID='1'"); // je change le Pseudo ligne 1
echo 'Votre Pseudo est '.$Pseudo; // j'affiche le Pseudo ligne 1
}else{
// sinon si nous n'avons pas changer le Pseudo nous récupérerons le dernier Pseudo enregistrer ligne 1
echo 'Votre Pseudo est '.$tableau_reponse['Pseudo'];
}
mysql_close();
?>
<html>
<head></head>
<body>
<form method="post" action="index.php">
<input />
<input value="Valider" />
</form>
</body>
</html>
Nous allons passer au mot de passe. Vous vous rappeler quand nous avions créé notre table, il y avait une colonne Mot_de_passe puis comme dans ce tutorial je vous est montré la condition If, vous êtes maintenant capable d'associer toute ces connaissances pour faire une page avec un mot de passe. Je vais reprendre notre dernier exemple puis comparer la nom du mot de passe que j'ai enregistrer avec celui envoyer par méthode post, le mien était informatique
voici l'exemple :
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("bdd_test");
$reponse = mysql_query("SELECT * FROM ma_table");
$tableau_reponse = mysql_fetch_array($reponse); // on récupère la ligne 1
echo 'Votre Pseudo est '.$tableau_reponse['Pseudo'].'<br />';
if (isset($_POST['Mot_de_passe'])) // Si la variable existe
{
// On se crée une variable $Pseudo avec la variable Post Pseudo
$Mot_de_passe = $_POST['Mot_de_passe'];
if ( $tableau_reponse['Mot_de_passe'] == $Mot_de_passe){
echo 'Votre mot de passe est Bon'; // j'affiche une réponse d'information si le mot de passe est bon
}else{
echo 'Votre mot de passe est Mauvais'; // j'affiche une réponse d'information si le mot de passe est bon
}
}else{
// sinon si nous n'avons pas vérifier le mot de passe nous pouvons informer le visiteur
echo 'Votre mot de passe n\'a pas encore été verifier ';
}
mysql_close();
?>
<html>
<head></head>
<body>
<form method="post" action="index.php">
<strong>Entrer le mot de passe : </strong><br />
<input />
<input value="Valider" />
</form>
</body>
</html>