Problème avec $HTTP_GET_VARS et EASYPHP v1.7

mkel
Invité n'ayant pas de compte PHPfrance

22 sept. 2005, 19:44

Bonjour à tous.. :)

Lorsqu'on passe de EasyPhp v1.6 vers EasyPhp v1.7
L'erreur suivante apparait :
Notice: Undefined index: <Variable> in <fichier> on line xx

Cette ligne correspon à :
$VarNom = $HTTP_GET_VARS["Nom"];

Dans les forums, on me dit de remplacer $HTTP_GET_VARS par $_GET afin que cela marche...

Je remplace donc par : :D
$VarNom = $_GET["Nom"];

Rt la même erreur apparait. :o :o

J'ai bien vérifié que dans le fichier PHP.INI que :
register_globals = Off


je pense que bcp de PHPistes ont eu le même problème...

Merci de me répondre. :oops: :oops:


Mkel

Mammouth du PHP | 19672 Messages

22 sept. 2005, 20:36

Est-ce que le formulaire d'où arrivent les données a une méthode post ou get ? Si c'est post, alors tu ne pourras récupérer les informations que dans $_POST.

Ce que tu peux faire, c'est un bout de code de débuggage pour vérifier:
<p>Valeurs envoyées:</p>
<?php
if(isset($_GET))
{
?>
<p>Valeurs tranférées via l'url ($_GET) :</p>
<ul>
<?php
    foreach($_GET as $index => $valeur)
    {
        echo("<li>index ". $index ." ; valeur :". $valeur ."</li>\n");
    }
?>
</ul>
<?php
}
if(isset($_POST))
{
?>
<p>Valeurs tranférées selon la méthode post ($_POST) :</p>
<ul>
<?php
    foreach($_POST as $index => $valeur)
    {
        echo("<li>index ". $index ." ; valeur :". $valeur ."</li>\n");
    }
?>
</ul>
<?php
}
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

mkel
Invité n'ayant pas de compte PHPfrance

22 sept. 2005, 23:05

Merci de la réponse

Tout marchait TRES BIEN avec EasyPhp v1.6 :o :o
Mais quand je suis passé en EasyPhp v1.7.. PATATRA..Rien ne va plus.. :oops:

J'ai plus de 30 pages dans mon site qui font référence à $HTTP_GET_VARS.

J'attends encore qq jours. Si j'arrive pas à me dépatouiller, alors je reviendrais en EasyPhp v1.6

Ca m'apprendra... :cry: :cry:

mkel

Mammouth du PHP | 19672 Messages

22 sept. 2005, 23:07

Remplace EasyPHP par WAMP, ça marche bien et tu auras PHP5 en plus
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
pjl
ViPHP | 2119 Messages

22 sept. 2005, 23:16

Tu as raison.
J'ai fait pareil avec ma voiture.
Comme elle ne marchait pas bien, j'ai récupérer la ford T de mon grand père par contre, je ne comprends pas pourquoi on me klaxonne sans arret quand je suis sur le périf.

Sérieusement, tu as choisi de faire de la programation, le langage choisi évolue, à toi de suivre ses évolutions.
Si tu ne le voulais pas, il fallait faire autre chose, du macramé par exemple.

Et pour ton problème : essaye cette syntaxe :
if (isset($_GET['nom'])) $varnom = $_GET['nom']; 
et prends l'habitude de mettre tes noms de variable en minuscule.

mkel
Invité n'ayant pas de compte PHPfrance

22 sept. 2005, 23:46

Monter vers EasyPho v1.7 me fait revoir tout mon code..A CAUSE DE CE $HTTP_GET_VAR...de malheur, qui n'est pas reconnu par ... par qui d'ailleurs ? :cry: :P

Ca en devient Bill Gatien avec son Windows de m...

De plus, si on m'annonce une voiture toute neuve...et qu'il faille chercher partout la pédale de frein.. (He oui, elle a changé de place entre 1920 et 2005)...
:cry: :cry: :cry:

Plus sérieux : Si oin montant vers le hau, on bousille ce qu'il y a en-dessous...On va surement se casser la figure non ? :twisted:

Bon, allez...je vais télécharger WAMP...Parait qu'il fonctionne super bien...

mkel

Mammouth du PHP | 19672 Messages

22 sept. 2005, 23:53

La formulation $HTTP_GET_VARS est obsolete depuis pas mal de temps et a été simplifiée. Un rechercher/remplacer par $_GET et tu modifie tout un script relativement rapidement.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

mkel
Invité n'ayant pas de compte PHPfrance

24 sept. 2005, 01:40

J'ai suvi tonseil Cyrano..j'installé WAMP...
PLUS AUCUN PROBLEME....
Je me voyais mal en train de remplacer mes 30 pages par le $_GET...

Merci de ton aide, Cyrano... :o :o
Tu as bien senti d'où venait le problème...

Ah oui...Pour pjl...je me suis acheté un camion universel...Ainsi plus de prob. pour les nouvelles versions... :cry: :cry:

mkel

Mammouth du PHP | 19672 Messages

24 sept. 2005, 08:54

Alors c'est parfait. Je te conseille quand même de mettre tes scripts à jour et de remplacer : Tu as mentionné 30 pages : il te faudrait moins de 10 minutes pour remplacer tous les $HTTP_GET_VARS par $_GET, même avec le Bloc-Note : Édition>Rechercher/Remplacer et tu fais le tour des pages, c'est l'affaire d'environ 3 minutes montre en main ;)

Et si jamais tu as WebExpert, tu peux même le faire en une seule fois en faisant un "rechercher/remplacer dans les dossiers" sans même avoir besoin d'ouvrir les fichiers : durée de l'opération, environ 25 secondes montre en main ;) Pour illustrer la chose, je me suis une fois modifié tous les liens d'un manuel PHP de .html en .php, et le manuel PHP comporte 4171 fichiers : ça ne m'a pas pris une heure pour tout faire et ça fonctionnne très bien.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 983 Messages

24 sept. 2005, 11:34

Comme te l'a dit pjl, le problème ne vient pas de l'utilisation de $HTTP_GET_VARS (même si elle est dépréciée), mais du fait qu'avant d'utiliser une variable, il faut s'assurer de son existence.

Tu fais:
$VarNom = $_GET["Nom"]; 

Or $_GET["Nom"] n'a été défini nulle part avant (ce qui signifie que l'url ayant appelé cette page ne contenait pas: url.php?Nom=valeur), d'où l'erreur très explicite:
Notice: Undefined index: <Variable> in <fichier> on line xx

Avant toute utilisation de $_GET ou $_POST, il faut toujours tester l'existence de la variable que tu veux utiliser (cf. post de pjl).

Bon courage à toi ;)