Comment utiliser le superglobale en php

Fermé
Lili_754 Messages postés 125 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 31 mai 2016 - 2 mars 2013 à 13:10
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 - 4 mars 2013 à 19:37
Bonjour,
Je debute en php, on me demande d'écrire une première version du script inscrireEtudiant qui retourne les valeurs transmises :

en utilisant $_SERVER['QUERY_STRING']
en utilisant $_GET
en utilisant $_REQUEST

Ecrire une deuxième version du script qui teste si l'un des champs est vide et renvoie, dans ce cas, le formulaire à compléter.
Fichier à créer : inscrireEtudiant.php

<?php
error_reporting(E_ALL);
include "entete.php";
echo DOCTYPE_XHTML_BASIC_11."\n";
echo HTML_FR."\n";
echo "<head>";
echo META_TYPE_TEXT_HTML_UTF8."\n";
echo "<title> Saisir son groupe </title> \n";
echo "</head> \n";
echo "<body>";
?>

<form method='get' action=".$_SERVER['PHP_SELF'].">
<fieldset> <legend> Veuillez remplir le formulaire d'inscription </legend>

<span> Nom </span>
<input type='text' id="Nom" name="Nom"/>
<br/><br/>

<span> Prenom </span>
<input type='text' id='Prenom' name='Prenom' />
<br/><br/>

<span> Date de naissance <span>
<!-- Code pour la date de naissance -->

<br/><br/>

<input type='submit' value='valider' />
</fieldset>
</form>

<?php
echo "</body>";
echo "</html>";
?>

Mon souci est que je ne vois pas ou et comment utiliser les superglobales :(

Merciiiii pour votre aide d'avance
A voir également:

2 réponses

tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 220
Modifié par tryan44 le 2/03/2013 à 22:42
Salut,

Il manque l'attribut "value" sur les champs de type "text".
Il manque l'attribut "name" sur le champ de type "submit".

Pour l'exemple :
<input type="text" id="Nom" name="Nom" value="" />  
<input type="submit" name="Valider" value="Valider" />

Lors de l'envoie du formulaire soit "$_POST['Valider']", testez les variables en question pour voir ce qu'elles retournent et comprendre à quoi elles servent :
if(isset($_POST['Valider'])){ 
echo $_GET['Nom'].'<br/>'; 
echo $_SERVER['QUERY_STRING'].'<br/>'; 
print_r($_REQUEST); 
}

https://www.php.net/manual/fr/language.variables.superglobals.php
http://php.net/manual/fr/reserved.variables.server.php
Une question stupide engendre une réponse stupide!
Une question mal formulé engendre une réponse aléatoire!
0
Lili_754 Messages postés 125 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 31 mai 2016 2
4 mars 2013 à 16:29
ouiii en faite pour le value je l'avais pas mis car je savais pas quoi mettre dc on peut mettre des double cote pour dire que c vide okiii merciiii
0
Lili_754 Messages postés 125 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 31 mai 2016 2
4 mars 2013 à 16:35
Lors de l'envoie j'ai un message d'erreur .$_SERVER['PHP_SELF'']. was not found on this server
0
Lili_754 Messages postés 125 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 31 mai 2016 2
4 mars 2013 à 17:23
c bon j'ai réussi à corrigé mon erreur, mais mon souci c'est que je suis tjr redirigé vers le formulaire.... je ne sais pas ou placer mes variables globales pour que je vois les valeur saisi dans le formulaire ds une nouvelle page...
0
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 220
4 mars 2013 à 19:37
<form method="GET" action="page-de-destination.php">

Dans la page de destination et si le "submit" du formulaire vaut "Valider" :
if(isset($_GET['Valider'])){
//reste du code
}
0