Aller au contenu

Leaderboard

Popular Content

Showing content with the highest reputation on 06/09/2015 in all areas

  1. II - Les joies du PHP TRANSMISSION DE DONNÉES : Avec PHP, vous pouvez transmettre des données à d'autre page notamment avec deux éléments : l'URL et le forumulaire. Une URL peut etre constituée de la sorte : protocole://domaine/page.extension (prenons l'exemple de Melinyel : http://melinyel.net/index.php). Avec le PHP vous pouvez rajouter des paramètres et leur asigner une valeur comme ceci protocole://domaine/page.extension?param=valeur&param2=valeur2. Ces valeurs peuvent etre récupérées avec la variable superglobale $_GET (exemple : $_GET['param'] retourne "valeur"). Toutefois, chacun peut modifier l'URL et envoyer de fausses données. Avec un formulaire vous avez le choix entre envoyer les données par la méthode get (par l'URL) ou par la méthode post (l'utilisateur ne voit pas les données qu'il a envoyé). Néanmoins, ceci ne nous protège pas contre une attaque mais il existe des moyens pour y remédier que je vous montrerez. <form action="cible.php" method="post"> <p> <input type="text" name="prenom" /> <input type="submit" value="Valider" /> </p> </form>Dans cette exemple, vous pouvez voir qu'on a method="post" : c'est ce que je vous ai expliqué tout à l'heure et action="cible.php" qui sera le fichier de réception de notre formulaire. Concrètement, lorsque que vous cliquez sur le boutton envoyer, vous etes redirigé vers une autre page qui conservera les données du formulaire. La balise <input /> créée un champ avec un type (text, password, subit) et un nom qui nous permettra de récupérer le contenu du champ grace à la variable superglobale $_POST. Actions effectuées lors de l'envoi d'un formulaire. © OpenClassrooms VARIABLES SUPERGLOBALES : Il existe différents types de variables superglobales : $_SERVER : ce sont des valeurs renvoyées par le serveur. Elles sont nombreuses et quelques-unes d'entre elles peuvent nous être d'une grande utilité. Je vous propose de retenir au moins $_SERVER['REMOTE_ADDR']. Elle nous donne l'adresse IP du client qui a demandé à voir la page, ce qui peut être utile pour l'identifier.$_ENV : ce sont des variables d'environnement toujours données par le serveur. C'est le plus souvent sous des serveurs Linux que l'on retrouve des informations dans cette superglobale. Généralement, on ne trouvera rien de bien utile là-dedans pour notre site web.$_SESSION : on y retrouve les variables de session. Ce sont des variables qui restent stockées sur le serveur le temps de la présence d'un visiteur. Nous allons apprendre à nous en servir dans ce chapitre.$_COOKIE : contient les valeurs des cookies enregistrés sur l'ordinateur du visiteur. Cela nous permet de stocker des informations sur l'ordinateur du visiteur pendant plusieurs mois, pour se souvenir de son nom par exemple.$_GET : vous la connaissez, elle contient les données envoyées en paramètres dans l'URL.$_POST : de même, c'est une variable que vous connaissez et qui contient les informations qui viennent d'être envoyées par un formulaire.$_FILES : elle contient la liste des fichiers qui ont été envoyés via le formulaire précédent.Il y a notamment deux variables à retenir : $_SESSION et $_COOKIE. Celle-ci vous serviront dans beaucoup de cas de figure. $_SESSION va stocker des données durant la session de l'utilisateur et son contenu sera détruit lorsque l'utilisateur fermera la session. Pour utiliser cette variable superglobale, vous devez amorcer la session au tout début de votre code avec : <?php session_start(); ?> $_COOKIE va stocker des données cookies chez l'utilisateur. Ainsi, vous pouvez appelé cette variable superglobale pour récupérer des données sur l'utilisateur même s'il a quitté la session qui a remplit ces données. Un cookie se définit avec cette fonction : <?php setcookie('pseudo', 'M@teo21', time() + 365*24*3600, null, null, false, true); ?> Les cookies sous Mozilla Firefox. © OpenClassrooms GESTION DE FICHIER : Tout d'abord, vous devez paramétrer votre fichier pour le rendre accessible à PHP en modifiant son CHMOD à 777. Pour ouvrir votre fichier, il vous faut utiliser la fonction fopen() et vous devez le refermer avec fclose(). Pour lire votre fichier, vous avez deux possibilités : lire caractère par caractère avec la fonction fgetc() ou lire ligne par ligne avec fgets(). Vous pouvez aussi écrire dans votre fichier à l'emplacement du curseur, que vous pouvez déplacer avec cette fonction fseek(), grâce à cette fonction fputs(). Exemple : <?php $mon_fichier = fopen('mon_fichier.ext', 'r+'); // On ouvre le fichier en mode lecture et écriture echo fgets($mon_fichier); // On affiche la première ligne du fichier fseek($mon_fichier, 0); // On met le curseur au début du fichier fputs($mon_fichier, 'du texte'); echo fgets($mon_fichier); // On verra que la ligne est modifié fclose($mon_fichier); // On ferme le fichier ?>
    1 point
  2. I - Commençons à partir de 0 Dès lors que vous utiliserez le langage PHP dans un de vos codes de votre site web, le fichier le contenant doit être impérativement en .php. Vous pourrez à partir de ce fichier écrire du HTML normalement à la différence que vous pourrez rajouter la balise <?php ?> et écrire du code PHP entre celle-ci. VARIABLES ET TEXTE : Contrairement à d'autres langages, déclarer des variables et les afficher grâce à l’instruction echo est une tâche très simple en PHP. Quelques exemples vont vous aider à comprendre : <!-- (Commentaire HTML)Ceci est un commentaire réservé exclusivement au langage HTML --> <?php // Ceci est un commentaire sur une ligne (Commentaire PHP) /* Ceci est un commentaire sur plusieurs lignes (Commentaire PHP) */ /* Variables */ $ma_variable; // Ceci est une variable $ma_variable = 1; // Ceci est une variable valant 1 /* Afficher du texte */ echo 'Du texte'; // Ceci va afficher "Du texte" echo $ma_variable; // Ceci affiche le contenu de "$ma_variable" ?> CONDITIONS ET BOUCLES : Une condition vous permet d’exécuter des scripts différents en fonction de certains critères. Vous trouverez notamment deux types de conditions : la condition if...else et la condition switch. Elles s'utilisent de cette manière : <?php // Avec if...else if ($autorisation_entrer == 1) // SI on a l'autorisation d'entrer { // instructions à exécuter quand on est autorisé à entrer } else if ($autorisation_entrer == 0) // SINON SI on n'a pas l'autorisation d'entrer { // instructions à exécuter quand on n'est pas autorisé à entrer } else // SINON (la variable ne contient ni Oui ni Non, on ne peut pas agir) { echo "Euh, je ne connais pas ton âge, tu peux me le rappeler s'il te plaît ?"; } // Avec switch switch ($autorisation_entrer) { case 0: // instructions à exécuter quand on n'est pas autorisé à entrer break; case 1: // instructions à exécuter quand on est autorisé à entrer break; default: echo "Euh, je ne connais pas ton âge, tu peux me le rappeler s'il te plaît ?"; break; } ?>Dans mon exemple, j'utilise des symboles comparateur que vous devez absolument connaître : == Est égal à === Est équivalent à > Est strictement supérieur à < Est inférieur supérieur à >= Est supérieur ou égal à <= Est inférieur ou égal à != Est différent de On peut donner plusieurs conditions à la fois et ce grâce à ces petits symboles : || OR Ou && AND Et FONCTIONS ET INCLUSION DE PAGES : Quand vous serez un expert en PHP, vos codes pourront atteindre des centaines de lignes. Il est clairement difficile de s'y retrouver même avec des commentaires bien rédigés. Je vous propose deux solutions : les fonctions et l'inclusion de pages. Lorsque vous écrivez votre code PHP il se peut que vous ayez à écrire plusieurs fois le même chose mais il existe les fonctions qui vous permettront de rentrer votre code à l'intérieur de la fonction et en appelant celle-ci à l'endroit voulu le code de la fonction sera exécuté. Une fonction peut aussi prendre des arguments et retourner une valeur. Je m'explique, quand vous appelez votre fonction, vous pouvez lui attribuer des valeurs dans les parenthèses que vous pouvez ensuite récupérer dans votre fonction et après quelques lignes de calculs, vous pouvez renvoyer une valeur que vous pourrez utiliser à l'endroit où votre fonction a été appelé. Bien que pratique, les fonctions prennent elles aussi beaucoup de place dans un fichier c'est pour quoi je vous propose de diviser votre page en plusieurs ainsi chaque page de votre aura une fonction bien définie et pourra être appelée dans une autre grâce aux fonctions suivantes : include() : Inclut une page dans une autre.include_once() : Inclut une seule fois une page dans une autre.require() : Inclut une page dans une autre et renvoie un message d'erreur en cas d’échec.require_once() : Inclut une seule fois une page dans une autre et renvoie un message d'erreur en cas d’échec.<?php // Ceci est une fonction function maFonction($argument1, $argument2) { return $argument1; } $une_variable_inutile = 2; $variable_contenant_la_valeur_retourne_par_la_fonction = maFonction('blabla', $une_variable_inutile); // Le contenu de "variable_contenant_la_valeur_retourne_par_la_fonction" serra "blabla" ?> TABLEAUX : Un tableau est variable à laquelle on peut donner plusieurs valeurs associées chacune à une clé. Exemples : <?php $membre = array('nom' => 'Truc', 'prenom' => 'Machin'); // Vous pouvez aussi faire comme cela $membre['nom'] = 'Truc'; $membre['prenom'] = 'Machin'; ?>Pour parcourir un tableau on pourrait utiliser la boucle for() mais celle-ci n'est pas très pratique donc je vous propose d'utiliser cette boucle : foreach() qui s'utilise comme ci-dessous : <?php foreach($member as $cle => $information) { echo $cle.' : '.$information; } /* Dans ce cas, j'ai récupéré la clé et son contenu. Vous pouvez très bien ne pas récupérer la clé en faisant comme ceci : foreach($member as $information) */ ?>Pour effectuer des testes sur votre tableau, vous avez trois fonctions très pratiques : array_key_exists : pour vérifier si une clé existe dans l'array ;in_array : pour vérifier si une valeur existe dans l'array ;array_search : pour récupérer la clé d'une valeur dans l'array.
    1 point
×
×
  • Créer...