1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [Développement Web PHP] 2 00:00:03,000 --> 00:00:05,000 [Tommy MacWilliam] 3 00:00:05,000 --> 00:00:07,000 [C'est CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 >> Dans cette vidéo, nous allons apprendre sur l'utilisation de PHP pour le développement web. 5 00:00:11,000 --> 00:00:14,000 PHP est un langage de script qui peut être utilisé pour mettre en œuvre 6 00:00:14,000 --> 00:00:17,000 sites Web sur un serveur Web. 7 00:00:17,000 --> 00:00:21,000 Un serveur web est essentiellement une machine dédiée à fournir des contenus 8 00:00:21,000 --> 00:00:24,000 qui peuvent être accessibles via l'Internet. 9 00:00:24,000 --> 00:00:30,000 Lorsque vous accédez à une page Web comme Facebook.com / home.php 10 00:00:30,000 --> 00:00:35,000 le code dans le fichier appelé home.php qui vit sur un serveur web Facebook part 11 00:00:35,000 --> 00:00:38,000 seront exécutées sur ce serveur. 12 00:00:38,000 --> 00:00:41,000 Ce code sera probablement générer des sorties 13 00:00:41,000 --> 00:00:43,000 qui à son tour être envoyé à partir du serveur 14 00:00:43,000 --> 00:00:45,000 à votre navigateur Web. 15 00:00:45,000 --> 00:00:49,000 Nous allons utiliser l'appareil de CS50 comme un serveur web. 16 00:00:49,000 --> 00:00:51,000 Votre appareil ne sera probablement pas aussi puissant que les machines 17 00:00:51,000 --> 00:00:57,000 dans un centre de données Facebook, mais vous n'aurez aucun problème à l'utiliser pour le développement web. 18 00:00:57,000 --> 00:01:05,000 >> Lorsque nous naviguons vers une URL comme http://localhost/bonjour.php 19 00:01:05,000 --> 00:01:10,000 nous configurons l'appareil via une application appelée le serveur HTTP Apache 20 00:01:10,000 --> 00:01:19,000 pour trouver un fichier appelé hello.php l'intérieur de la maison / jharvard / vhosts / localhosts / html par défaut. 21 00:01:19,000 --> 00:01:23,000 Si ce fichier existe, Apache va utiliser l'interpréteur PHP 22 00:01:23,000 --> 00:01:27,000 pour exécuter le code PHP dans hello.php. 23 00:01:27,000 --> 00:01:31,000 Si ce fichier n'existe pas, Apache va jeter une erreur introuvable 24 00:01:31,000 --> 00:01:36,000 ou une erreur 404, que vous avez probablement déjà vu tout en naviguant sur le Web. 25 00:01:36,000 --> 00:01:40,000 >> Jetons un coup d'oeil à hello.php. 26 00:01:40,000 --> 00:01:45,000 Nous pouvons voir ici que hello.php génère une ligne de signal de sortie. 27 00:01:45,000 --> 00:01:51,000 Lorsque nous avons couru hello.php à la ligne de commande via php hello.php 28 00:01:51,000 --> 00:01:54,000 que la sortie a été imprimée à la borne. 29 00:01:54,000 --> 00:01:58,000 Maintenant, quand on accéder à ce fichier via une URL dans le navigateur Web 30 00:01:58,000 --> 00:02:01,000 sa sortie est envoyée au navigateur Web, 31 00:02:01,000 --> 00:02:09,000 si la position de l'URL, http://localhost/bonjour.php, 32 00:02:09,000 --> 00:02:12,000 nous pouvons voir le résultat dans notre navigateur. 33 00:02:12,000 --> 00:02:17,000 >> Essayons d'ajouter un autre printf à notre programme mondial de bonjour. 34 00:02:17,000 --> 00:02:23,000 D'accord, nous allons la tête au navigateur web et voir ce que nous avons. 35 00:02:23,000 --> 00:02:25,000 Intéressant. 36 00:02:25,000 --> 00:02:28,000 Plutôt que d'imprimer une autre ligne sur sa propre ligne, que vous auriez vu 37 00:02:28,000 --> 00:02:32,000 dans le terminal, on dirait qu'il s'est smushed sur la même ligne 38 00:02:32,000 --> 00:02:36,000 comme l'autre printf, alors peut-être de nouvelles lignes ne fonctionnent pas en PHP. 39 00:02:36,000 --> 00:02:38,000 Pas tout à fait. 40 00:02:38,000 --> 00:02:41,000 Rappelez-vous que HTML est généralement utilisé pour créer des pages web 41 00:02:41,000 --> 00:02:44,000 qui peuvent être affichés par les navigateurs Web. 42 00:02:44,000 --> 00:02:49,000 Non seulement la chaîne bonjour de php pas valide HTML, 43 00:02:49,000 --> 00:02:53,000 mais rappelons que nous ne pouvons pas utiliser le caractère \ n en HTML 44 00:02:53,000 --> 00:02:55,000 pour créer un saut de ligne. 45 00:02:55,000 --> 00:03:01,000 Au lieu de sortir tout simplement sortie valide HTML d'un let de chaîne. 46 00:03:01,000 --> 00:03:04,000 En utilisant des balises de paragraphe chacun de nos appels printf 47 00:03:04,000 --> 00:03:07,000 sera affiché sur sa propre ligne, 48 00:03:07,000 --> 00:03:11,000 Alors maintenant, quand nous visitons l'URL pointant vers valid.php 49 00:03:11,000 --> 00:03:17,000 http://localhost/valid.php 50 00:03:17,000 --> 00:03:19,000 nous voyons la sortie que nous recherchons. 51 00:03:19,000 --> 00:03:22,000 >> Maintenant, si nous considérons la source de cette page 52 00:03:22,000 --> 00:03:25,000 nous pouvons voir que nous sommes maintenant à la recherche de code HTML valide, 53 00:03:25,000 --> 00:03:28,000 que nous avons créé à partir de PHP. 54 00:03:28,000 --> 00:03:31,000 Mettre tout notre HTML à l'intérieur appels printf 55 00:03:31,000 --> 00:03:34,000 est bien sûr va être vraiment gênant. 56 00:03:34,000 --> 00:03:38,000 Heureusement, nous pouvons facilement HTML et PHP mélanger 57 00:03:38,000 --> 00:03:41,000 dans le même fichier php.. 58 00:03:41,000 --> 00:03:47,000 Rappelez-vous, l'ensemble de notre code PHP doit être enfermé à l'intérieur 00:03:49,000 et?>. 60 00:03:49,000 --> 00:03:52,000 Tout ce qui n'est pas enfermé dans ces séparateurs 61 00:03:52,000 --> 00:03:55,000 seront simplement envoyé en sortie sur le navigateur 62 00:03:55,000 --> 00:03:57,000 plutôt que d'être exécuté. 63 00:03:57,000 --> 00:04:01,000 Cela signifie que nous pouvons faire quelque chose comme ça. 64 00:04:01,000 --> 00:04:05,000 Nous ne pouvons tout simplement écrire en HTML à l'intérieur de notre fichier php. 65 00:04:05,000 --> 00:04:11,000 puis insérer des blocs PHP où nous aimerions un peu de code PHP à exécuter. 66 00:04:11,000 --> 00:04:15,000 Ici, nous définissons quelques variables au début du fichier, 67 00:04:15,000 --> 00:04:19,000 et plus tard, nous imprimons les à l'intérieur de notre HTML. 68 00:04:19,000 --> 00:04:27,000 Maintenant, si nous visitons cette URL, http://localhost/mixed.php 69 00:04:27,000 --> 00:04:33,000 nous pouvons voir notre PHP évalué à l'intérieur de notre HTML. 70 00:04:33,000 --> 00:04:36,000 >> Maintenant, nous allons jeter un oeil à la façon dont nous pouvons passer des données 71 00:04:36,000 --> 00:04:39,000 parmi nos différentes pages PHP. 72 00:04:39,000 --> 00:04:51,000 Plutôt que de dire 73 00:04:51,000 --> 00:04:58,000 nous ne pouvons tout simplement dire 00:05:01,000 et?>. 75 00:05:01,000 --> 00:05:03,000 Prenons maintenant un regard sur la façon dont nous pouvons passer des données 76 00:05:03,000 --> 00:05:06,000 parmi nos différentes pages PHP. 77 00:05:06,000 --> 00:05:11,000 Une façon de le faire est de coder les informations dans l'URL d'une page. 78 00:05:11,000 --> 00:05:14,000 Lorsque vous naviguez sur le Web, vous avez peut-être remarqué que certaines URL 79 00:05:14,000 --> 00:05:20,000 contiennent une? suivi par une chaîne contenant des esperluettes et les signes d'égalité. 80 00:05:20,000 --> 00:05:23,000 Cette partie de l'URL est connue comme la chaîne de requête, 81 00:05:23,000 --> 00:05:29,000 et cela vous permet de passer efficacement des arguments à votre script PHP. 82 00:05:29,000 --> 00:05:34,000 La chaîne de requête est constitué de paires clé-valeur, tout comme une table de hachage. 83 00:05:34,000 --> 00:05:38,000 Un signe égal sépare une clé et sa valeur correspondante 84 00:05:38,000 --> 00:05:41,000 tandis que perluètes séparent paires. 85 00:05:41,000 --> 00:06:05,000 Une URL qui ressemble à http://localhost/get.php?foo=bar&baz=qux 86 00:06:05,000 --> 00:06:09,000 a deux paires de clés de valeur dans la chaîne de requête. 87 00:06:09,000 --> 00:06:12,000 La clé foo cartes à la barre de la valeur, 88 00:06:12,000 --> 00:06:16,000 et la baz clé correspond à la valeur qux. 89 00:06:16,000 --> 00:06:23,000 Nous pouvons facilement accéder à ces paires de valeurs de clés en utilisant une variable spéciale en PHP, 90 00:06:23,000 --> 00:06:29,000 $ _GET. 91 00:06:29,000 --> 00:06:32,000 $ _GET Est un tableau associatif 92 00:06:32,000 --> 00:06:36,000 qui est automatiquement rempli avec les données de chaîne de requête. 93 00:06:36,000 --> 00:06:46,000 Cela signifie que, étant donné cette URL $ _GET ["foo"] 94 00:06:46,000 --> 00:06:49,000 sera égal à la barre de chaîne. 95 00:06:49,000 --> 00:06:56,000 >> Jetons un coup d'oeil à get.php voir $ _GET dans l'action. 96 00:06:56,000 --> 00:07:00,000 Ici nous utilisons une fonction appelée var_dump, 97 00:07:00,000 --> 00:07:03,000 qui, lorsqu'il est donné un tableau ou d'une autre variable 98 00:07:03,000 --> 00:07:05,000 sera l'imprimer pour nous. 99 00:07:05,000 --> 00:07:12,000 Maintenant, si nous accédons simplement http://localhost/get.php 100 00:07:12,000 --> 00:07:17,000 puis nous verrons un tableau vide parce que nous n'avons pas fourni une chaîne de requête. 101 00:07:17,000 --> 00:07:29,000 Si nous fournissons une chaîne de requête via http://localhost/get.php?foo=bar&baz=qux 102 00:07:29,000 --> 00:07:34,000 alors nous pouvons voir que la variable $ _GET contiendra 103 00:07:34,000 --> 00:07:37,000 paires de valeurs clés de la chaîne de requête. 104 00:07:37,000 --> 00:07:42,000 Mais que faire si nous ne voulons pas mettre nos données dans l'URL d'une page? 105 00:07:42,000 --> 00:07:46,000 Pour de grandes quantités de données, ce qui peut entraîner dans certaines URL assez laids 106 00:07:46,000 --> 00:07:49,000 qui vont rendre notre website éclatant regard boiteux. 107 00:07:49,000 --> 00:07:52,000 Nous pouvons mettre à la place de la chaîne de requête dans le corps 108 00:07:52,000 --> 00:07:57,000 des requêtes HTTP plutôt que l'URL de la demande. 109 00:07:57,000 --> 00:08:02,000 Ensuite, nous pouvons utiliser $ _POST la variable PHP 110 00:08:02,000 --> 00:08:05,000 pour accéder à des paires de valeurs clés. 111 00:08:05,000 --> 00:08:10,000 Une façon de le faire est par le biais d'un formulaire HTML. 112 00:08:10,000 --> 00:08:13,000 Ici, nous avons un simple formulaire HTML. 113 00:08:13,000 --> 00:08:17,000 Notez ici que l'attribut de méthode de ce formulaire est post. 114 00:08:17,000 --> 00:08:21,000 Cela indique au navigateur de mettre des paires de valeurs clés de la forme 115 00:08:21,000 --> 00:08:25,000 dans le corps de la demande plutôt que de l'URL. 116 00:08:25,000 --> 00:08:28,000 >> Si nous devions utiliser la valeur de cet attribut obtenir 117 00:08:28,000 --> 00:08:32,000 alors paires de valeurs clés de la forme serait plutôt aller dans la chaîne de requête, 118 00:08:32,000 --> 00:08:36,000 afin que nous puissions y accéder via $ _GET nouveau. 119 00:08:36,000 --> 00:08:42,000 L'attribut action du formulaire indique au navigateur où envoyer les données. 120 00:08:42,000 --> 00:08:46,000 Voici nos éléments d'entrée 2 ont attributs de nom. 121 00:08:46,000 --> 00:08:51,000 La valeur des attributs de nom servira clés dans nos données, 122 00:08:51,000 --> 00:08:56,000 et les valeurs des entrées de texte deviendront des valeurs de ces clés. 123 00:08:56,000 --> 00:08:59,000 Maintenant, nous allons jeter un oeil à post.php, 124 00:08:59,000 --> 00:09:03,000 le fichier que cette forme présente à. 125 00:09:03,000 --> 00:09:10,000 Tout comme nous l'avons fait avant, nous sommes tout simplement afficher le contenu de la variable $ _POST. 126 00:09:10,000 --> 00:09:18,000 >> Disons accédez au formulaire http://localhost/form.php. 127 00:09:18,000 --> 00:09:23,000 Maintenant, lorsque nous soumettons la forme, nous pouvons voir que les données de form.php 128 00:09:23,000 --> 00:09:30,000 est passé à Post.php sans ajouter une chaîne de requête à l'URL. 129 00:09:30,000 --> 00:09:35,000 Maintenant que nous avons vu deux façons de passer des données entre les pages PHP, 130 00:09:35,000 --> 00:09:37,000 GET et POST. 131 00:09:37,000 --> 00:09:41,000 Dans nos exemples, nous avons utilisé deux types de requêtes HTTP différentes. 132 00:09:41,000 --> 00:09:45,000 Comme on pouvait s'y attendre, une demande d'obtention a été utilisé lorsque nous avons peuplé 133 00:09:45,000 --> 00:09:51,000 $ _GET Partir de l'URL, et une demande de poste a été utilisé 134 00:09:51,000 --> 00:09:55,000 quand nous avons peuplé $ _POST. 135 00:09:55,000 --> 00:09:59,000 Dans la conception de vos applications web c'est une bonne règle de base pour utiliser les requêtes GET 136 00:09:59,000 --> 00:10:03,000 lorsque votre application ne lire les données, et les demandes de poste 137 00:10:03,000 --> 00:10:05,000 lorsque votre application va écrire des données. 138 00:10:05,000 --> 00:10:09,000 Par exemple, une requête de recherche sera de lire les données à partir de votre application, 139 00:10:09,000 --> 00:10:12,000 si une demande d'obtention de sens. 140 00:10:12,000 --> 00:10:17,000 D'autre part, votre application va écrire des données via quelque chose comme un formulaire d'inscription, 141 00:10:17,000 --> 00:10:22,000 si une demande de poste aurait plus de sens, et c'est un aperçu de certaines des techniques 142 00:10:22,000 --> 00:10:26,000 nous allons utiliser dans CS50 à créer des sites Web utilisant PHP. 143 00:10:26,000 --> 00:10:30,000 >> Mon nom est Tommy, et c'est CS50. 144 00:10:30,000 --> 00:10:36,000 [CS50.TV]