PHP MySQL N 0 IUT SRC TOULON 2016-2017
I Intro Relation Client / Serveur Client = Visiteur d un site web, personne qui demande à voir une page web. Serveur = Machine qui s occupe de distribuer le site web. Elle contient le site web sur son disque dur et dès qu un client demande à voir une page web, elle lui envoie.
Différence entre le XHTML et le PHP XHTML 1 Le client demande à voir une page HTML. 2 Le serveur envoie la page HTML demandée.
Différence entre le XHTML et le PHP PHP 1 Le client demande à voir une page PHP. 2 Le serveur génère la page PHP. Il ne l envoie pas au client car ce dernier ne peut pas la lire. Le client ne peut lire que des pages HTML. Le serveur transforme la page PHP en page HTML pour que le client puisse la lire. 3 Une fois que la page est générée, elle ne contient que du code HTML et le serveur l envoie alors au client.
II Wamp Présentation Package qui contient tous les programmes nécessaires pour pouvoir traiter du PHP. WAMP est l'acronyme de Windows Apache MySQL PHP. Programmes installés par WAMP : Apache : Programme qui permet au serveur de distribuer des pages web. Ne connaît que le HTML! PHP : Plugin d Apache. Il a besoin d'apache pour fonctionner, et grâce à lui Apache saura travailler sur des pages PHP. Donc Apache + PHP = un serveur PHP. MySQL : Programme qui permet d'utiliser des bases de données. PhpMyAdmin : Permet de gérer les bases de données.
Configuration WAMP en français : Faire clic droit sur l'icône de la barre des tâches et aller dans Language / French. Menu principal de WAMP : Faire clic gauche sur l'icône de la barre des tâches. Le premier élément du menu, Localhost, amène sur la page d'accueil de WAMP. De là, on peut voir en particulier tous les projets sur lesquels on travaille (dans la section "Vos projets").
Nouveau projet : Créer un nouveau répertoire dans le dossier "www". Un projet = Un site web. Si on clique sur Répertoire www dans le menu, WAMP ouvre l'explorateur Windows dans le dossier www. C'est dans ce dossier que les fichiers PHP pourront être lus correctement. Il est conseillé de créer un sous-dossier ("tests" par exemple) et de placer les fichiers PHP dedans. Après avoir créé le sous-dossier, il devrait apparaître sur la page d'accueil de WAMP : Il suffit de cliquer dessus pour exécuter les pages PHP qui se trouvent à l'intérieur. Fermer complètement WAMP : Faire un clic droit puis cliquez sur "Fermer" ("Exit") en bas.
III Bases de PHP Les balises PHP : Le code source d'une page HTML est constitué de balises (aussi appelées tags). Pour utiliser du PHP, il faut introduire une nouvelle balise : Elle commence par <?php et se termine par?>. C'est à l intérieure que l'on mettra du code PHP.
Afficher du texte <html> <head> <title>premier code PHP</title> </head> <body> <h2>premier code PHP</h2> <p> Ligne écrite en HTML. <br/> <?php echo "Ligne écrite en PHP.";?> </p> </body> </html>
Pour tester la page PHP : Démarrer WAMP et aller dans le menu Localhost. Sur la page d'accueil de Wamp, cliquer sur le lien vers le dossier "tests". Une page web s'ouvre indiquant tous les fichiers qui se trouvent dans le dossier "tests". Cliquer sur le fichier PHP à tester : L ordinateur génère le code PHP puis ouvre la page.
IV Inclure des portions de page Une des fonctionnalités les plus simples et les plus utiles de PHP est l'inclusion de pages. On peut très facilement inclure toute une page ou un bout de page à l'intérieur d'une autre page. Cela facilite la tâche en évitant d'avoir à copier le même code XHTML plusieurs fois.
V Variables Définition : Le symbole $ précède toujours le nom d'une variable. C'est un signe de reconnaissance. On peut mettre 3 sortes de "données" différentes dans une variable : Texte, nombres, ou booléens. Voici comment on les utilise : <?php $pseudo_visiteur = "Mathieu"; // Texte $age_visiteur = 19; // Nombre $majeur_visiteur = true; // Booléen?>
Afficher la valeur d'une variable : <?php $pseudo_visiteur = "Mathieu"; echo "Bonjour $pseudo_visiteur";?> Faire des calculs simples : <?php $nombre = 2 + 4; // $nombre prend la valeur 6 $nombre = 5-1; // $nombre prend la valeur 4 $nombre = 10; $resultat = ($nombre + 5) * $nombre; // $resultat prend la valeur 150?>
VI Conditions La structure de base : If... Else <?php $age = 8; if ($age < 18){ echo "Site interdit aux mineurs!<br/>"; $autorisation_entrer = "Non"; } Else { echo "Bonjour!<br/>"; $autorisation_entrer = "Oui"; } echo "Avez-vous l'autorisation d'entrer? Réponse : $autorisation_entrer";?>
Une alternative pratique : Switch <?php $note = 10; switch ($note){ case 0: echo "Tu es vraiment nul!!!"; break; case 5: echo "Tu es très mauvais"; break; case 7: echo "Tu es mauvais"; break; }?>
VII Boucles Une boucle simple : While <?php $nombre_de_lignes = 1; while ($nombre_de_lignes <= 100) { echo "Bonjour!<br />"; $nombre_de_lignes ++; }?>
Une boucle plus complexe : For <?php for ($nb_lignes = 1; $nb_lignes <= 100; $nb_lignes++) { echo "Ceci est la ligne n $nb_lignes <br />"; }?> Après le mot for, il y a 3 éléments entre parenthèses, séparés par des points-virgules : Le premier sert à l initialisation : C'est la valeur que l'on donne au départ à la variable. Le second, c'est la condition : Tant qu elle est remplie, la boucle est réexécutée. Le troisième, c'est l'incrémentation : Permet d'ajouter 1 à la variable.
VIII Fonctions Créer ses propres fonctions : Une fonction est utile si les mêmes instructions doivent être répétées X fois. <?php function DireBonjour($nom){ echo "Bonjour $nom!<br />"; } DireBonjour("Marie"); // Appel de la fonction DireBonjour("Patrice"); DireBonjour("Edouard");?>
En PHP il y a des centaines de fonctions toutes prêtes qu on peut utiliser. Il existe deux types de fonctions : Celles qui effectuent des actions, et ne renvoient aucune valeur. Celles qui, après plusieurs calculs, renvoient une valeur (ce sont les plus fréquentes)
IX Tableaux <?php // Création d un tableau $prenom $prenom = array ("François", "Michel", Nicole","Véronique", "Benoît"); // Affichage des valeurs du tableau for ($i = 0; $i < 5; $i++) { echo $prenom[$i]. <br/> ; // affiche $prenom[0], $prenom[1] etc... }?>
X Transmission de données avec l URL On peut envoyer des infos à la page bonjour.php via l URL : http://www.monsite.com/bonjour.php?nom=dupo nt&prenom=jean Le point d interrogation sépare le nom de la page PHP des paramètres. Les paramètres s enchainent ensuite selon la forme nom=valeur et sont séparés entre eux par le symbole &.
Récupérer les paramètres en PHP : La page bonjour.php va automatiquement créer un array au nom un peu spécial : $_GET. Nom $_GET[ nom ] $_GET[ prenom ] Valeur Dupont Jean On peut donc récupérer ces informations et faire ce qu on veut avec. <p>bonjour <?php echo $GET[ prenom ].. $GET[ nom ];?>!</p>
XI Transmission de données avec les formulaires Créer la base du formulaire : <form method="post" action="cible.php"> <p> On insèrera ici les éléments de notre formulaire. </p> </form> La balise <form> contient 2 attributs très importants à : La méthode (method) et la cible (target).
La méthode 2 méthodes possibles pour envoyer les données du formulaire : get : Les données transitent par l'url comme on l'a vu précédemment. On pourra les récupérer grâce à l'array $_GET. Cette méthode est assez peu utilisée car on ne peut pas envoyer beaucoup d'informations dans l'url. post : Les données ne transitent pas par l'url. L'utilisateur ne les verra donc pas passer dans la barre d'adresse. Cette méthode permet d'envoyer autant de données que l'on veut, ce qui fait qu'on la privilégie le plus souvent. Néanmoins, les données ne sont pas plus sécurisées qu'avec la méthode GET et il faut toujours vérifier si tous les paramètres sont bien présents et valides. On ne doit pas plus faire confiance aux formulaires qu'aux URL.
La cible L'attribut action sert à définir la page appelée par le formulaire. C'est cette page qui recevra les données du formulaire et qui sera chargée de les traiter. Imaginons le schéma suivant : Dans cet exemple, le formulaire se trouve dans la page formulaire.php. Cette page ne fait aucun traitement particulier. Une fois le formulaire envoyé (quand on a cliqué sur le bouton "Envoyer"), le visiteur est redirigé vers la page cible.php qui reçoit les données du formulaire.
Exemple : index.php : <form method="post" action="bonjour.php"> <p> <label for= l_pseudo >Votre pseudo :</label> <input type="text" name="pseudo" id="l_pseudo" value="mat" /> <input type="submit" value="valider" /> </p> </form>
Bonjour.php : <?php echo 'Bonjour '. $_POST['pseudo']. '!<br/>';?> <p>pour revenir au formulaire, <a href="index.php">cliquez ici</a> </p> Ne jamais faire confiance aux données reçues. Il faut donc à tout prix éviter qu'un visiteur puisse injecter du code Javascript dans les pages. Résoudre le problème est facile : il faut protéger le code HTML en l'échappant, c'est-à-dire en affichant les balises plutôt que de les faire exécuter par le navigateur.
Pour échapper le code HTML, il suffit d'utiliser la fonction htmlspecialchars qui va transformer les chevrons des balises HTML <> en < et > respectivement. Cela provoquera l'affichage de la balise plutôt que son exécution. <?php echo 'Bonjour '. htmlspecialchars($_post['pseudo']). '!<br/>';?> Il faut penser à utiliser cette fonction sur tous les textes envoyés par l'utilisateur qui sont susceptibles d'être affichés sur une page web.
XII Page protégée par mot de passe Comment procéder? Pour que l'utilisateur puisse rentrer le mot de passe, le plus simple est de créer un formulaire. Celui-ci appellera la page protégée et lui enverra le mot de passe. L'accès au contenu de la page ne sera autorisé que si le mot de passe est kang. Il faut donc créer 2 pages web : index.php qui contient un simple formulaire. bonjour.php qui contient les infos mais ne les affiche que si on donne le mot de passe.
index.php <p>veuillez entrer le mot de passe :<br/></p> <form action="bonjour.php" method="post"> <p> <input type="password" name="mot_de_passe" /> <input type="submit" value="valider" /> </p> </form> bonjour.php <?php if (isset($_post['mot_de_passe']) AND $_POST['mot_de_passe'] == "kang") { echo Bonjour! ; } else { echo '<p>mot de passe incorrect</p>'; }?>