undefined index

Petit nouveau ! | 7 Messages

26 nov. 2007, 23:32

Bonjour à tous
J'ai un et le voila

J'ai crée une fonction getvar que j'ai identifié comme suit :

----------------------------------------------------------------------------------------------------------
//file _common.php
// Fonction de récupération d'une variable postée d'un formulaire ou lien (GET ou POST)

function getVar($nomVar)
	{
[color=brown]return (($_GET[$nomVar]!=null)?$_GET[$nomVar]: (($_POST[$nomVar]!=null)?$_POST[$nomVar]:""));[/color]
	}
----------------------------------------------------------------------------------------------------------
cette fonction je l'utilise aprés dans ma page index.php pour me conecter avec un identifiant et un mot de passe

--------------------------------------------------------------------------------------------
<?php

//! \file index.php
//! \brief page d'accueil du site demandant un login et un mot de passe

    require_once("data/php/_common.php");
	$identifiant = getVar("identifiant");
---------------------------------------------------------------------------------

Tout me parait bien sauf que j'ai un message d'erreur qui dit :

Undefined index : identifiant in /var/www/......./data/_common.php line 174

line 174 c'est ce que j'ai mis en couleur

Merci d'avance

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 nov. 2007, 23:39

Modération :
ediaw, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 nov. 2007, 23:41

Au lieu de comparer la variable à "null" utilise isset()
return (isset($_GET[$nomVar])) ? $_GET[$nomVar] .....

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Petit nouveau ! | 7 Messages

27 nov. 2007, 12:08

function getVar($nomVar)
	{
         return (isset($_GET[$nomVar]))?$_GET[$nomVar]:(isset($_POST[$nomVar]))?$_POST[$nomVar];
        }

voici l'erreur qu'elle affiche

Code : Tout sélectionner

PHP Parse error: syntax error, unexpected ')' in /var/www/html/savoir/data/php/_common.php on line 175
La ligne 175 est la ligne de return (isset(.............

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

27 nov. 2007, 14:25

il manque le dernier cas "else" pour le test POST.
($exp1) ? $exp2 : $exp3;
// et non
($exp1) ? $exp2;

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 4039 Messages

27 nov. 2007, 14:25

Je verrais plutôt quelque chôse comme ceci..
function getVar($nomVar)
	{
         return (isset($_GET[$nomVar]))?$_GET[$nomVar]:((isset($_POST[$nomVar]))?$_POST[$nomVar]:false);
        }

Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

27 nov. 2007, 15:19

Code : Tout sélectionner

PHP Parse error: syntax error, unexpected ')' in /var/www/html/savoir/data/php/_common.php on line 175
...d'où l'intérêt d'utiliser des vrais "if" plutôt que des opérateurs ternaires à rallonge... Tu ne t'en porteras que mieux.

ViPHP
ViPHP | 5924 Messages

29 nov. 2007, 04:12

...d'où l'intérêt d'utiliser des vrais "if" plutôt que des opérateurs ternaires à rallonge... Tu ne t'en porteras que mieux.
Oui, quand on abuse des opérateurs ternaires, il faut savoir les utiliser sans faire d'erreur, sans quoi on fait des conditions classiques…

Petit nouveau ! | 7 Messages

29 nov. 2007, 11:55

Merci pour tout de m'avoir aider
juste une derniere chose
j'ai ecris
// rubrique.php
$rubrique = (($_POST["rubrique"]!=null)?$_POST["rubrique"]:(($_GET["rubrique"]!=null)?$_GET["rubrique"]:"1_recherche"));

mais l'erreur que j'ai est

Code : Tout sélectionner

PHP Notice: Undefined index: rubrique in /var/www/html/savoir/data/php/rubrique.php on line 4

Petit nouveau ! | 7 Messages

29 nov. 2007, 12:28

Merci pour touts en fait mon probleme est resolu