Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme avec les variables

18 réponses
Avatar
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:\siteweb\index.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

10 réponses

1 2
Avatar
Thibaut Allender

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

Avatar
Davel_x
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

Avatar
Paul Delannoy
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.

Avatar
Guillaume Bouchard
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.

Avatar
Thibaut Allender
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

Avatar
Nicolas Delsaux
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

Avatar
Stephane Santon
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

Avatar
Noe
"Nicolas Delsaux" a écrit dans le message de
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.


Avatar
Olivier Miakinen

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...

Avatar
Guillaume Bouchard
Nicolas Delsaux wrote:

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


C'est normale, la fonction define prend en compte deux parametre, le nom
de ta constante et sa valeur.
La tu esseye de lui passer comme nom ce qui se trouve dans la constante
SCRIPT_FOLDER et php est bien gentil de ne pas planter, mais imaginer

define(SCRIPT_FOLDER,'bonjour');
define(SCRIPT_FOLDER,2);

echo bonjour; // renvera 2

Il faut donc passé une chaine :

define('SCRIPT_FOLDER','bonjour');

Pas plus dur :)

--
Guillaume.

1 2