web:php:chap2

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 ⇒ 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>

  • Limite de taille supportée dans l'URL (IE, Apache)
  • Visibilité des informations passées
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.

<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>

Tableau associatif $_POST :

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

Avec Ubiquity :

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

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

<?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");
?>

<?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>";
?>

  • web/php/chap2.txt
  • Dernière modification : il y a 13 mois
  • de jcheron