Page 1 sur 1

undefined index

Posté : 26 nov. 2007, 23:32
par ediaw
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

Posté : 26 nov. 2007, 23:39
par Truc
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

Posté : 26 nov. 2007, 23:41
par Truc
Au lieu de comparer la variable à "null" utilise isset()
return (isset($_GET[$nomVar])) ? $_GET[$nomVar] .....

Posté : 27 nov. 2007, 12:08
par ediaw
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(.............

Posté : 27 nov. 2007, 14:25
par Truc
il manque le dernier cas "else" pour le test POST.
($exp1) ? $exp2 : $exp3;
// et non
($exp1) ? $exp2;

Posté : 27 nov. 2007, 14:25
par Berzemus
Je verrais plutôt quelque chôse comme ceci..
function getVar($nomVar)
	{
         return (isset($_GET[$nomVar]))?$_GET[$nomVar]:((isset($_POST[$nomVar]))?$_POST[$nomVar]:false);
        }


Posté : 27 nov. 2007, 15:19
par Hubert Roksor

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.

Posté : 29 nov. 2007, 04:12
par Sékiltoyai
...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…

Posté : 29 nov. 2007, 11:55
par ediaw
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

Posté : 29 nov. 2007, 12:28
par ediaw
Merci pour touts en fait mon probleme est resolu