Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

LA NOUVELLE FACON D'UTILISER DES VALEURS DANS LES FORMULAIRES - LES VARIABLES GLOBALS SONT MAINTENANT À OFF


Information sur la source

Catégorie :Astuces Niveau : Débutant Date de création : 05/12/2002 Date de mise à jour : 05/12/2002 03:30:28 Vu : 5 045

Note :
Aucune note

Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

Description

Depuis après la version PHP 4.1.0 on doit utiliser une nouvelle méthode pour prendre des variables venant de des formulaire.  
 

Source

  • $_GET: Récupère des valeurs de formulaire envoyer par GET
  • $_POST: Récupère des valeurs de formulaire envoyer par POST
  • $_FILE: Rècupère un fichier envoyer par un formulaire
  • $_SESSION: Récupère une valeur d'une session
  • $_COOKIE: Récupère un cookie
  • $_ENV: Récupère une variable d'environement donné par PHP
  • $_SERVER: Récupère une variable d'environement donné par le serveur
  • On utilise ceci comme ça:
  • $lenom = $_POST['nom'];
$_GET: Récupère des valeurs de formulaire envoyer par GET
$_POST: Récupère des valeurs de formulaire envoyer par POST
$_FILE: Rècupère un fichier envoyer par un formulaire
$_SESSION: Récupère une valeur d'une session
$_COOKIE: Récupère un cookie
$_ENV: Récupère une variable d'environement donné par PHP
$_SERVER: Récupère une variable d'environement donné par le serveur

On utilise ceci comme ça:

$lenom = $_POST['nom'];  

Conclusion

Il faut préciser que la variable (nom) ne doit pas avoir d'espace ni commencer par un chiffre.

Tout ceux qui ont mis des sources ici je vous conseil d'aller les corrigers.

Bon nouvelle prog

SmallToad - Grand maitre PHP  
 

Commentaires et avis

signaler à un administrateur
Commentaire de iubito le 07/12/2002 23:57:31

hé grand maître, ça serait bien de donner aussi une solution pour aider ceux ki vont modifier leurs sources
alors pour corriger les sources, ne vous prenez pas la tête à modifier de partout.
Dans chaque page, recencez les variables utilisée qui peuvent provenir d'un cookie, des paramètres (get) de la page, ou d'un formulaire (post).
Supposons que votre page utilise la variable $debut ki est transmise dans l'url, au lieu de remplacer tous les $debut par $_GET["debut"];
mettez ceci en haut de la page :
$debut = $_GET["debut"];
bon ça m'a permis de faire la mise à jour d'un site entier (10 pages) en 10 minutes.

wala, j'espère que ça vous aidera

signaler à un administrateur
Commentaire de SmallToad le 09/12/2002 21:54:27

eh...je vois pas de différence entre la première méthode et la deuxième parce que moi la mienne je la marque une seul fois au debut du script et ça marche.

signaler à un administrateur
Commentaire de juano le 06/01/2003 11:07:55

Bonjour,
il existe solution bien plus simple et générique :
Utiliser la fonction extract() qui reprend chaque clé d'un tableau comme nom de variable et affecte la valeur associée (cf la doc officielle)
Exemple:
if(!empty($_POST)){ //ou $_GET, $_SERVER, ...
extract($_POST);
}
qui va transformer le tableau des variables de formulaire en variables distinctes ($_POST['truc'] en $truc)

Une autre version (maison) :

foreach($_POST as $k=> $v){
$$k=$v;
}
qui crée une variable ayant pour nom la valeur de la clé et lui affecte la valeur associée dans le tableau de départ, cela donne le même résultat que le code précédent.
Il suffit ensuite de faire un include dans chaque page (par exemple).

Ciao.

signaler à un administrateur
Commentaire de AlexLG le 25/08/2003 04:21:00

oui, mais dans ce cas là, la sécurité qu'apporte registers_global est annulé : à l'origine, cette fonction évite de passer n'importe quel nom de variable en paramètres

signaler à un administrateur
Commentaire de RockmanX le 09/10/2003 18:18:22

il y a aussi un truc dont on m'a parlé qui est fait pour récupéré une variable d'ou qu'elle vienne par exemple par post ou par get.
il s'agit de  $_REQUEST
ça peut s'avérer utile.

signaler à un administrateur
Commentaire de quiaimeflash le 30/08/2004 15:13:45

Bonjour,
J'utilise la fonction $variable = $_GET['variable']; pour recuperer une variable dans l'url, elle marche super, mais voia, quand il n'y a pas de variable de specifier dans l'url de la page, php me retourne une erreur qui est tout a fait normale donc, puisqu'il ne peut pas charger la variable.

Notice: Undefined variable: indice in d:\index.php on line 1

Et j'aimerais savoir comment ne plus afficher ce message.

signaler à un administrateur
Commentaire de bloom1 le 25/11/2004 01:52:59

Merci,
tu m'apportes beaucoup d'aide!
pour mon nouveau site internet, j'en ai besoins(pour la sécuité.)
j'aurais besoins d'aide alors prend en notre ceci si tu a msn messenger:
coolsalex666@hotmail.com
ajoute moi a tes contacts si tu a msn messenger.
merci!

signaler à un administrateur
Commentaire de theseif le 01/05/2006 09:13:12

Bonjour, j'ai un script qui commence comme ça:
<?
include("fonctions.php");
if($install)

Au lancement j'ai un message d'erreur, Notice: Undefined variable...
Je n'arrive pas à utiliser vos méthodes, pouvez-vous m'expliquer comment faire.
Merci d'avance.

signaler à un administrateur
Commentaire de quiaimeflash le 02/05/2006 08:16:00

Oui, biensur la variable $install n'est pas défini, a toi de rajouter :

$install=$_GET['nom de la variable'];
$install=$_POST['nom de la variable'];


Tu peut aussi rajouter un @ devant ta condition si tu ne veut pas voir l'erreur.

signaler à un administrateur
Commentaire de theseif le 02/05/2006 08:55:21

Mais je pensais que _GET ou _POST servais à récupérer les variables d'un formulaire alors que la, c'est le démarrage d'un script.

signaler à un administrateur
Commentaire de quiaimeflash le 02/05/2006 20:11:18

Oui, mais justement, le moteur php te dit : La variable $install n'est pas définit.
Donc à toi de faire en sorte de définir la variable $install avant la condition  : if($install).
En utlisant _GET, _POST ou tout autre.

Note : Ton script s'excutera en entier quand même, l'erreur s'affiche juste pour information, tu peut modifier ca dans le fichier php.ini (error_reporting).

signaler à un administrateur
Commentaire de theseif le 03/05/2006 23:06:25

Je suis vraiment nulle, comment est-ce que je peut trouver à quoi correspond $install dans mon exemple?
<?
include("fonctions.php");
$install=$_POST['install'];
if($install)
{
$install_completed = true;
if(!($pass_admin) || !($login_admin) || !($pass_admin_confirm))
{
$fields_required_failed = true;
$install_completed = false;
}
if(strcmp($pass_admin,$pass_admin_confirm))
{
$fields_pass_failed = true;
$install_completed = false;
}
else
{

signaler à un administrateur
Commentaire de quiaimeflash le 04/05/2006 20:31:27

Ben, je sais pas trop à koi correspond ton code, mais la variable $install est une condition : si elle est définit, si il y a quelque chose dedans, donc ici si tu as passer un champs "install" dans ton formulaire, il executera le code :

$install_completed = true;
if(!($pass_admin) || !($login_admin) || !($pass_admin_confirm))
{
    $fields_required_failed = true;
    $install_completed = false;
}

if(strcmp($pass_admin,$pass_admin_confirm))
{
   $fields_pass_failed = true;
   $install_completed = false;
}
else
{
....

signaler à un administrateur
Commentaire de theseif le 09/05/2006 15:04:01

Non il n'y a pas de formulaire avant, on démarre directement le fichier install: c'est pour cette raison que je pensais que _GET ou _POST servait à récupérer les variables d'un formulaire alors que la, c'est le démarrage d'un script.
Là j'ai écris:
$install = 1;
et je n'ai plus de message pour $install mais pour $pass_admin.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.