Code : Tout sélectionner
Notice: Undefined index: nomcli in c:\....\transfertclient3.php on line 10 - "Undefined index" : tu fais appel à une clé d'un tableau alors que cette clé n'existe pas. A côté de ça, il te donne le nom de la clé en question "nomcli" ainsi que le script et la ligne à laquelle cet avertissement apparait.
Maintenant soyons logique, d'après le message d'erreur et ta ligne 10, il est évident qu'il fait allusion à $_POST["nomcli"]. Donc en résumé, il n'y a pas d'index "nomcli" dans $_POST. Tu ne peux donc pas tester sa valeur et savoir si elle est évaluée comme étant TRUE.
Pour t'en convaincre tu peux afficher la valeur de $_POST (avec la fonction print_r() par exemple)
La question est maintenant de savoir pourquoi est-ce que cet index n'existe pas dans $_POST, la réponse est : parce que quand tu arrives sur la page la première fois, le formulaire n'a pas encore été envoyé. Tu ne peux donc pas manipuler ses variables.
Il te faut donc t'assurer que ta variable existe avant de pouvoir l'utiliser. Pour savoir si une variable est définie on utilise isSet(). Ton test deviendrait alors
if ( isSet($_POST["nomcli"]) && $_POST["nomcli"] && ...) // si ma variable est définie et a pour valeur TRUE
Bien que cela revienne au même, il est plus clair et plus explicite de tester que ta variable n'est pas vide plutôt que de vérifier si sa valeur est TRUE.
if ( isSet($_POST["nomcli"]) && $_POST["nomcli"]!='' && ...) // si ma variable est définie et n'est pas vide
Il se trouve par ailleurs que ces deux tests (définition et contenu) sont également fait par la fonction empty()
if ( empty($_POST["nomcli"]) && ...) // si ma variable n'est pas définie ou est vide
Or ce que tu veux c'est le contraire, on utilise alors l'opérateur de négation: "!"
if ( !empty($_POST["nomcli"]) && ...) // si ma variable est pas définie et n'est pas vide