Probleme avec les variables

Le
Olivier
Bonsoir,

Je suis débutant dans le php et j'ai un soucy pour récupérer les valeurs des
variables $_POST

j'ai :

Notice: Undefined index: login in d:sitewebindex.php on line 5

ligne 5 -> $login = $_POST["login"];


Comment faire pour ne plus avoir ce message ?

NB j'ai mis qu'il faut mettre register_global à On mais cela ne change rien


Merci d'avance

Olivier
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Paul Delannoy
Le #572813
Olivier a écrit:
Bonsoir,

Je suis débutant dans le php et j'ai un soucy pour récupérer les valeurs des
variables $_POST

j'ai :

Notice: Undefined index: login in d:sitewebindex.php on line 5

ligne 5 -> $login = $_POST["login"];
Comment faire pour ne plus avoir ce message ?


Essaie dèjà 'login' dans les [], pour voir.

Thibaut Allender
Le #573055

Notice: Undefined index: login in d:sitewebindex.php on line 5
ligne 5 -> $login = $_POST["login"];

Comment faire pour ne plus avoir ce message ?


en utilisant un error reporting different :
http://fr.php.net/manual/fr/function.error-reporting.php

voir dans ton php.ini
tu es surement actuellement en :
error_reporting(E_ALL); <-- par defaut dans easyphp 1.7

mets le en :
error_reporting(E_ALL ^ E_NOTICE);

NB j'ai mis qu'il faut mettre register_global à On mais cela ne change rien


effectivement, ca n'a *rien* a voir avec ton probleme

--
thibaut allender | freelance | web|system developer|designer
+32 496 26 75 76 | http://capsule.org

Davel_x
Le #573057
Le 08/04/2004 23:11 :

Bonsoir,

Je suis débutant dans le php et j'ai un soucy pour récupérer les valeurs des
variables $_POST

j'ai :

Notice: Undefined index: login in d:sitewebindex.php on line 5

ligne 5 -> $login = $_POST["login"];


Comment faire pour ne plus avoir ce message ?



$login = isset($_POST['login'])?$_POST['login']:'';


if(isset($_POST['login'])){
$login=$_POST["login"];
} else {
$login='';
}


--
**davel**
http://www.lerpg.com

Guillaume Bouchard
Le #572810
Thibaut Allender wrote:
en utilisant un error reporting different :
http://fr.php.net/manual/fr/function.error-reporting.php

voir dans ton php.ini
tu es surement actuellement en :
error_reporting(E_ALL); <-- par defaut dans easyphp 1.7

mets le en :
error_reporting(E_ALL ^ E_NOTICE);


Ca me rappel le coup des gens qui mettent de la poussiere sous les tapis
et qui pensent que c'est propre de cette façon.

Le error_reportin dois etre sur E_ALL pour coder, si il y a des erreurs,
c'est que ton code est crade, pas que le error_reporting est trop elevé.

bref, je te conseille d'utiliser la methode donnée, cad faire un isset
avant.

--
Guillaume.

Thibaut Allender
Le #572806
Ca me rappel le coup des gens qui mettent de la poussiere sous les tapis
et qui pensent que c'est propre de cette façon.

Le error_reportin dois etre sur E_ALL pour coder, si il y a des erreurs,
c'est que ton code est crade, pas que le error_reporting est trop elevé.


... ou qu'on se tape pas mal des notice
je prefere avoir un code "crade" que de le surcharger de isset() inutiles

qu'on utilise isset() ou le code "crade", le resultat est le meme :
$login ne vaudra rien
je prefere mettre la poussiere sous le tapis que d'acheter un aspirateur
industriel, ca suffit pour un appartement

et je sais que ca va faire huler les geeks, mais chacun a sa facon de coder
si php tolere qu'on ne declare pas les variables ou qu'on utilise des
index inextistants, c'est pas pour rien.

--
thibaut allender | freelance | web|system developer|designer
+32 496 26 75 76 | http://capsule.org

Nicolas Delsaux
Le #572807
Le 09 avr. 2004, Guillaume Bouchard s'est levé(e) et s'est dit "tiens, si
j'écrivais aux mecs de fr.comp.lang.php"

Ca me rappel le coup des gens qui mettent de la poussiere sous les tapis
et qui pensent que c'est propre de cette façon.

Le error_reportin dois etre sur E_ALL pour coder, si il y a des erreurs,
c'est que ton code est crade, pas que le error_reporting est trop elevé.


D'accord, mais comment faire dans ce cas quand on crée des constantes ?
Par exemple (mais ça n'est qu'un exemple) dans mon script, j'écris

define(SCRIPT_FOLDER, "script");

je me retrouve avec l'erreur

Notice: Use of undefined constant SCRIPT_FOLDER - assumed 'SCRIPT_FOLDER'
in c:program fileseasyphp1-7wwwwebscriptmain_menu.php on

Ca n'empêche pas le script de fonctionner, mais ça altère l'affichage de ma
page. Alors, comment faire ?
Changer le niveau d'erreur, ou encadrer ces constantes de commentaires HTML
pour éviter leur affichage ?

bref, je te conseille d'utiliser la methode donnée, cad faire un isset
avant.




--
Nicolas Delsaux
"S'il existe deux ou plusieurs manières de faire quelque chose et que l'une
de ces manières est susceptible de se solder par une catastrophe, on peut
être certain que quelqu'un se débrouillera pour la choisir."
Edward A.Murphy Jr

Stephane Santon
Le #572567
Bonjour,

Par exemple (mais ça n'est qu'un exemple) dans mon script, j'écris
define(SCRIPT_FOLDER, "script");

je me retrouve avec l'erreur
Notice: Use of undefined constant SCRIPT_FOLDER - assumed 'SCRIPT_FOLDER'
in c:program fileseasyphp1-7wwwwebscriptmain_menu.php on


Peut-être parce que ta constante n'a pas été définie, car il fallait
écrire
define( "SCRIPT_FOLDER", "script");
puisqu'avant que la constante ne soit déclarée ici, elle n'existe pas,
il faut donc passer une chaîne.

--
** Anti-Spam : ajouter [usenet] dans l'objet pour ne pas être rejeté.

Cordialement, Stéphane *** http://www.team-santonum.com
Loisirs, nature, arts, technologie : accueil en Charente-Maritime

Noe
Le #572568
"Nicolas Delsaux" news:
Le 09 avr. 2004, Guillaume Bouchard s'est levé(e) et s'est dit "tiens, si
j'écrivais aux mecs de fr.comp.lang.php"

Ca me rappel le coup des gens qui mettent de la poussiere sous les tapis
et qui pensent que c'est propre de cette façon.

Le error_reportin dois etre sur E_ALL pour coder, si il y a des erreurs,
c'est que ton code est crade, pas que le error_reporting est trop elevé.


D'accord, mais comment faire dans ce cas quand on crée des constantes ?
Par exemple (mais ça n'est qu'un exemple) dans mon script, j'écris

define(SCRIPT_FOLDER, "script");

je me retrouve avec l'erreur

Notice: Use of undefined constant SCRIPT_FOLDER - assumed 'SCRIPT_FOLDER'
in c:program fileseasyphp1-7wwwwebscriptmain_menu.php on


Et lire la doc, ça te paraît hors de portée ???

Prototype :
bool define ( string name, mixed value [, bool case_insensitive])

Exemple :
define ("CONSTANT", "Bonjour à tous.");

Tu n'as pas l'impression d'avoir loupé quelque chose ?

N.O.E.


Olivier Miakinen
Le #572570

D'accord, mais comment faire dans ce cas quand on crée des constantes ?
Par exemple (mais ça n'est qu'un exemple) dans mon script, j'écris

define(SCRIPT_FOLDER, "script");
^ ^


je me retrouve avec l'erreur

Notice: Use of undefined constant SCRIPT_FOLDER
^ ^

- assumed 'SCRIPT_FOLDER'
^ ^


Ben on fait comme le compilateur une fois qu'il a râlé : on rajoute les
quotes...

Bobe
Le #572316
Thibaut Allender nous a dit le 09/04/2004 20:54:

qu'on utilise isset() ou le code "crade", le resultat est le meme :
$login ne vaudra rien
je prefere mettre la poussiere sous le tapis que d'acheter un aspirateur
industriel, ca suffit pour un appartement



Si tu veux faire l'économie d'un isset() à un endroit où il sera inutile
hormis pour éviter la notice, tu fais:

$login = @$_POST['login'];

et je sais que ca va faire huler les geeks, mais chacun a sa facon de coder
si php tolere qu'on ne declare pas les variables ou qu'on utilise des
index inextistants, c'est pas pour rien.



rhaaaaaa...

--
Bobe (Aurélien Maille)
http://webnaute.net

"la vie d'un geek est un combat perpétuel contre l'imperfection"

Publicité
Poster une réponse
Anonyme