Pour la transmission de ces informations au serveur, le protocole HTTP prévoit différentes méthodes de requête. Les deux plus importantes sont GET et POST.
La requête GET peut recevoir des informations supplémentaires que le serveur Web doit traiter. Ces paramètres d'URL sont simplement ajoutés à l'URL. La syntaxe est très simple : La chaîne de requête est introduite par un « ? » (point d'interrogation).
La méthode GET est utilisée par le navigateur pour demander au serveur de renvoyer une certaine ressource. "Hé le serveur, je veux cette ressource." Dans ce cas, le navigateur envoie un corps vide. Du coup, si un formulaire est envoyé avec cette méthode, les données envoyées au serveur sont ajoutées à l'URL.
Pour cela, il n'y a rien de plus simple. Il suffit de préciser l'attribut method="post" dans la balise form et d'accéder au contenu du tableau $_POST (à la place de $_GET).
$_GET : c'est elle qui vous donne les valeurs des informations indiquées dans l'url. Un simple lien hypertexte vous permet d'envoyer une variable par l'url.
La méthode HTTP GET
php les couples variable / valeur transmis en paramètre. La première variable d'une url est toujours précédée du symbôle ? alors que les autres seront précédées du symbôle &. Les noms des variables correspondent aux attributs name des éléments du formulaire et les valeurs aux attributs value.
La méthode GET passe les réponses saisies via l'URL tandis que la méthode POST passe les paramètres dans le corps de la requête. Il existe deux méthodes pour transmettre les informations saisies dans un formulaire par un utilisateur.
Utilisation de la méthode POST
Toutes les données contenues dans un formulaire seront envoyées à l'autre page PHP via la méthode POST et reçues dans tableau superglobal $_POST. Pour mieux comprendre, vous allez créer une page PHP se nommant formulaire. php contenant un formulaire avec le nom et le prénom.
Le point d'interrogation sépare le nom de la page PHP des paramètres. Les paramètres s'enchaînent selon la forme nom=valeur et sont séparés les uns des autres par le symbole & . On peut écrire autant de paramètres que l'on veut ? En théorie, oui.
Généralement, ce protocole sera HTTP ou sa version sécurisée : HTTPS. Le « Web » fonctionne autour de ces deux protocoles mais le navigateur peut parfois gérer d'autres protocoles comme mailto: (qui permet d'ouvrir un client de messagerie électronique) ou ftp: qui permet de transférer des fichiers.
Une requête HTTP, acronyme de « Hypertext Transfer Protocol » renvoie au protocole HTTP utilisé par le navigateur web pour consulter un site internet. L'ordinateur de l'internaute, via un navigateur, envoie une requête au serveur web, qui lui apporte alors immédiatement une réponse en affichant la page web demandée.
Lorsque vous soumettez un formulaire avec la méthode GET, PHP fournit une variable superglobale, appelée $_GET. PHP utilise cette variable $_GET pour créer un tableau associatif avec des clés pour accéder à toutes les informations envoyées. La clé est créée en utilisant les valeurs des attributs « name ».
Vous pouvez utiliser la variable globale $_SERVER pour récupérer l'URL de la page courante en PHP. $_SERVER est une variable super-global, ce qui signifie qu'elle est toujours disponible dans tous les domaines.
Un site internet utilise une requête HTTP avec la méthode POST pour transmettre les données d'un formulaire.
Avant d'envoyer la requête HTTP GET, l'appareil doit créer une connexion TCP (Transmission Control Protocol) avec le serveur en réalisant un échange de clés 3-way handshake. Le serveur répond à la requête HTTP GET de l'appareil par un message HTTP incluant le contenu de la page Web demandée.
L'attribut method
En HTML, il existe deux méthodes pour envoyer un formulaire: GET et POST. La méthode GET (method="get") est la valeur par défaut si on ne précise aucune valeur pour l'attribut method. Cette méthode permet d'envoyer les données du formulaires à travers l'URL en utilisant les symboles ?
POST. Votre navigateur utilise la méthode de requête HTTP POST lorsqu'il doit envoyer des données au serveur. Par exemple, si vous remplissez un formulaire de contact sur un site web et que vous l'envoyez, vous utilisez une requête POST pour que le serveur reçoive ces informations.
Comme nous le savons, en cas de requête POST, les données d'origine sont envoyées dans le corps du message.
$_SERVER['HTTP_USER_AGENT'] ; ?> REMOTE_ADDR permet d'obtenir l'adresse IP tandis que HTTP_USER_AGENT permet d'obtenir le navigateur avec lequel le visiteur a accédé à la page web. Enfaite, il suffit d'écrire le code : $_SERVER['Valeur'], selon ce que vous souhaitez obtenir comme informations.
Pour récupérer le contenu d'un champ de saisie de texte (input de type texte) en PHP, vous pouvez utiliser la superglobale ' $_POST ' ou ' $_GET ', selon la méthode de transmission des données définie dans le formulaire.
Les paramètres URL sont composés d'une clé et d'une valeur, séparées par un signe égal (=). Les paramètres multiples sont ensuite séparés par une esperluette (&).