Très souvent, il devient nécessaire de transférer des données d'un navigateur client vers un fichier serveur avec un script pour traiter ces données. Regardons exactement comment organiser le transfert des paramètres php vers le script.
Il est nécessaire
Connaissance de base des langages PHP et HTML
Instructions
Étape 1
Pour transporter des données à partir de formulaires Web dans HTTP (HyperText Transfer Protocol), deux méthodes sont fournies - GET et POST. Ils diffèrent par la manière dont ils sont transmis de l'application cliente (navigateur) à l'application serveur (script php exécutable). La méthode GET utilise la barre d'adresse pour cela. C'est-à-dire que les noms et les valeurs des variables qui lui sont transmises sont ajoutés directement à l'adresse du script (ou URL - Uniform Resource Locator) via un point d'interrogation (?). Par exemple, l'URL peut ressembler à ceci:
Ici, le script search.php reçoit une variable nommée num avec une valeur de 30, une variable newwindow avec une valeur de 1 et une variable safe avec une valeur de off. Le serveur, ayant reçu une telle requête, par le "?" sépare l'adresse du fichier et divise tout le reste en paires de noms et de valeurs de variables. Les paires résultantes sont renseignées dans le tableau $ _GET, à partir duquel le script php spécifié dans l'adresse pourra les extraire. Dans sa forme la plus simple, le code html du formulaire pour envoyer ces données du navigateur au serveur à l'aide de la méthode GET pourrait ressembler à ceci:
Et le script php le plus simple pour recevoir ces données est comme ceci:
<?php
$ num = $ _GET ['num'];
$ nouvelle fenêtre = $ _GET ['nouvelle fenêtre'];
$ sûr = $ _GET ['sûr'];
?>
Les inconvénients les plus importants de la transmission de variables à l'aide de la méthode GET:
- quantité de données limitée, puisque la longueur de l'URL ne peut excéder 255 caractères;
- tous les caractères de code html ne peuvent pas être transférés par cette méthode;
- les données transmises sont visibles par l'utilisateur, ce qui n'est pas toujours acceptable d'un point de vue sécurité;
Étape 2
Ces inconvénients et limitations peuvent être évités en utilisant une autre méthode - POST. Il utilise des zones spéciales de paquets réseau pour transférer des données - en-têtes. À tous autres égards, les différences entre ces méthodes sont minimes - dans la forme d'envoi de données ci-dessus, seul le nom de la méthode changera:
Et dans le script php, seul le nom du tableau de données:
<?php
$ num = $ _POST ['num'];
$ nouvelle fenêtre = $ _POST ['nouvelle fenêtre'];
$ sûr = $ _POST ['sûr'];
?>