Table des matières

Chapitre 2 : Méthodes de la requête

Comment passer des paramètres à une requête
Méthodes de soumission des formulaires

- Méthode GET

- Soumission

Méthode GET ⇒ passage des informations dans l'URL :

Via un accès direct dans la barre du navigateur :

Via un lien hypertexte

<a href="https://www.google.fr/#q=m%C3%A9thode+get">rechercher des infos sur la méthode GET avec Google</a>

Via un formulaire

<form method="GET" action="resultats.php">
	<label for="search">Rechercher sur mon site : </label><input type="text" name="search" id="search">
	<input type="submit" value="Rechercher">
</form>

- Limites du GET

- Récupération en php

mapage.php?version=1.0.0.1

Tableau associatif $_GET :

echo $_GET["version"];

Avec Ubiquity :

echo URequest::get("version");

- Méthode POST

Les informations sont passées dans les en-têtes HTTP de la requête.

- Soumission via un formulaire

<form method="POST" action="resultats.php">
	<label for="search">Rechercher sur mon site : </label><input type="text" name="search" id="search">
	<input type="submit" value="Rechercher">
</form>

- Récupération en php

Tableau associatif $_POST :

<?php
echo "Vous recherchez : <b>".$_POST["search"]."</b>";
?>

Avec Ubiquity :

<?php
echo "Vous recherchez : <b>".URequest::post("search")."</b>";
?>

- Définir l'action sur la page en cours

	<form method="post" action="<?php echo $_SERVER['PHP_SELF']?>">
	</form>

- Identifier la méthode

<?php
if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST'){
	echo("méthode POST utilisée");
else
	echo ("méthode GET");
?>

Avec Ubiquity :

<?php
if (URequest::isPost()){
	echo("méthode POST utilisée");
else
	echo ("méthode GET");
?>

- Empêcher les requêtes Cross-site

<?php
	if (stripos($_SERVER['HTTP_REFERER'],$_SERVER['SERVER_NAME'])===FALSE){
		echo "Tentative de requête cross-site";
	}
?>

Avec Ubiquity :

<?php
	if (URequest::isCrossSite()){
		echo "Tentative de requête cross-site";
	}
?>

- GET et POST

<form method="POST" action="resultats.php?number=1">
	<label for="search">Rechercher sur mon site : </label><input type="text" name="search" id="search">
	<input type="submit" value="Rechercher">
</form>

<?php
echo "Vous recherchez : <b>".$_POST["search"]."</b><br>";
echo "Number : <b>".$_GET["number"]."</b>";
?>

Avec Ubiquity :

<?php
echo "Vous recherchez : <b>".URequest::post("search")."</b><br>";
echo "Number : <b>".URequest::get("number")."</b>";
?>