Transfert de variables

Résolu
danielos77 Messages postés 108 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
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


--

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 
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
Danielos
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753 > Danielos
 
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