Transfert de variables

Résolu/Fermé
danielos77 Messages postés 108 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 16 janvier 2024 - 27 avril 2020 à 19:02
jordane45 Messages postés 38202 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 juin 2024 - 27 avril 2020 à 19:48
Bonjour,

J'ai un formulaire à transférer dans une base et j'en suis à tester l'arrivée des variables (j'en teste 2 sur les 35).
car j'avais le message d'erreur suivant (pour toutes les variables) :

Notice: Undefined index: $NomPrenom in /var/www/sda/0/9/xxxx.php on line yyy

Ma connexion à la base fonctionne, la requête directement avec myphpadmin avec les valeurs aussi mais je n'arrive pas à récupérer les valeurs dans mon fichier d'envoi php.
En l'épurant au maximum, pour ne garder que les tests (vu que ça sert çà rien d'aller plus loin si les valeurs ne sont pas là). Voici le code, j'ai bien l'affichage "TEST" en haut de page mais ensuite ce sont les else qui s'affiche...

De quoi cela pourrait provenir ?

Dans le formulaire, c'est un input et un select qui sont testés

<?php

ini_set('display_errors', '1');
error_reporting(E_ALL);
echo "TEST";

		//activation de l'affichage des erreurs PHP
		error_reporting(E_ALL);
		ini_set('display_errors', TRUE);
		ini_set('display_startup_errors', TRUE);

//test avec isset
			$NomPrenom=isset($_POST['$NomPrenom']) ? $_POST['$NomPrenom'] : NULL;
			if($NomPrenom){
			echo "la variable existe".$NomPrenom;
			}
			else{
				echo "la variable n'existe pas";
			}
			
			
			$Section=isset($_POST['$Section']) ? $_POST['$Section'] : NULL;
			if($Section){
			echo "la variable existe".$Section;
			}
			else{
				echo "la variable n'existe pas";
			}
//test avec !empty
			$NomPrenom=!empty($_POST['$NomPrenom']) ? $_POST['$NomPrenom'] : NULL;
			if($NomPrenom){
			echo "la variable existe et n'est pas vide".$NomPrenom;
			}
			else{
				echo "la variable existe ou pas mais elle est vide";
			}

			$Section=!empty($_POST['$Section']) ? $_POST['$Section'] : NULL;
			if($Section){
			echo "la variable existe et n'est pas vide".$Section;
			}
			else{
					echo "la variable existe ou pas mais elle est vide";
			}

// J'ai mis en commentaire toute la fin du fichier sauf la balise de fermeture 
?>


Le pire, c'est que les 2 lignes suivantes dans une page php (sans rien d'autre) affichent bien les valeurs.

Bonjour, <?php echo htmlspecialchars($_POST['NomPrenom']); ?>.
Bonjour, <?php echo htmlspecialchars($_POST['Section']); ?>.


Donc à priori le _POST fonctionne.

La version php est 5.6.34.
Les scripts sont codés en utf-8

Mytère et boule de gomme.

Merci d'avance,
Daniel

Configuration: Windows / Firefox 75.0


--
A voir également:

1 réponse

jordane45 Messages postés 38202 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 juin 2024 4 676
27 avril 2020 à 19:23
Bonjour,
Tu as mis des Dollars en trop...
$NomPrenom=isset($_POST['$NomPrenom']) ? $_POST['$NomPrenom'] : NULL;

A corriger par
$NomPrenom=isset($_POST['NomPrenom']) ? $_POST['NomPrenom'] : NULL;



Idem pour tes autres variables...
2
Mille merci. J'ai pourtant scruté avec attention et c'est sûr que je suis passé dessus 20 fois sans que ça me tilte...
Merci encore Jordane45.
Daniel
0
jordane45 Messages postés 38202 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 juin 2024 4 676 > Danielos
27 avril 2020 à 19:48
Pourtant le message est assez explicite
Undefined index: $NomPrenom

le "undefined index" s'applique sur les variables de type Array ou Object
Cela s'applique donc aux variable $_POST $_GET $_SESSION $_COOKIE ......

Et vu que tu as la ligne concernée

in /var/www/sda/0/9/xxxx.php on line yyy

il est facile de la regarder et de voir si il y a une "clé" qui correspond à $NomPrenom ....

Au passage... ne masque pas le nom des fichiers et des lignes dans les messages d'erreur...ça peut nous être utile pour t'aider.
0