LA NOUVELLE FACON D'UTILISER DES VALEURS DANS LES FORMULAIRES - LES VARIABLES GL

cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006 - 7 déc. 2002 à 23:57
theseif Messages postés 62 Date d'inscription mercredi 29 août 2012 Statut Membre Dernière intervention 19 mai 2013 - 9 mai 2006 à 15:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/13058-la-nouvelle-facon-d-utiliser-des-valeurs-dans-les-formulaires-les-variables-globals-sont-maintenant-a-off

theseif Messages postés 62 Date d'inscription mercredi 29 août 2012 Statut Membre Dernière intervention 19 mai 2013
9 mai 2006 à 15:04
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.
quiaimeflash Messages postés 270 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 11 juillet 2007
4 mai 2006 à 20:31
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
{
....
theseif Messages postés 62 Date d'inscription mercredi 29 août 2012 Statut Membre Dernière intervention 19 mai 2013
3 mai 2006 à 23:06
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
{
quiaimeflash Messages postés 270 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 11 juillet 2007
2 mai 2006 à 20:11
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).
theseif Messages postés 62 Date d'inscription mercredi 29 août 2012 Statut Membre Dernière intervention 19 mai 2013
2 mai 2006 à 08:55
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.
quiaimeflash Messages postés 270 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 11 juillet 2007
2 mai 2006 à 08:16
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.
theseif Messages postés 62 Date d'inscription mercredi 29 août 2012 Statut Membre Dernière intervention 19 mai 2013
1 mai 2006 à 09:13
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.
cs_bloom1 Messages postés 328 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 8 mars 2007
25 nov. 2004 à 01:52
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!
quiaimeflash Messages postés 270 Date d'inscription samedi 29 novembre 2003 Statut Membre Dernière intervention 11 juillet 2007
30 août 2004 à 15:13
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.
RockmanX Messages postés 109 Date d'inscription dimanche 23 décembre 2001 Statut Membre Dernière intervention 26 octobre 2007
9 oct. 2003 à 18:18
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.
AlexLG Messages postés 9 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 9 août 2004
25 août 2003 à 04:21
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
cs_juano Messages postés 1 Date d'inscription lundi 6 janvier 2003 Statut Membre Dernière intervention 6 janvier 2003
6 janv. 2003 à 11:07
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.
SmallToad Messages postés 110 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 septembre 2004
9 déc. 2002 à 21:54
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.
cs_iubito Messages postés 629 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 9 octobre 2006
7 déc. 2002 à 23:57
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
Rejoignez-nous