Undefined index
Résolu
R.Khaleesi
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
R.Khaleesi Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
R.Khaleesi Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
J'ai un terrible problème avec "Undefined index" pour un formulaire d'inscription, malgré de nombreuses recherches et d'essai de nombreuses solutions je n'y arrive toujours pas, pouvez vous m'aider s'il vous plait ?
Erreur:
Notice: Undefined index: Kilometre in E:\EasyPHP-DevServer-14.1VC11\data\localweb\my portable files\pjtloueur2.php on line 17
Notice: Undefined index: places in E:\EasyPHP-DevServer-14.1VC11\data\localweb\my portable files\pjtloueur2.php on line 19
Notice: Undefined index: Boîte in E:\EasyPHP-DevServer-14.1VC11\data\localweb\my portable files\pjtloueur2.php on line 23
L'insertion a été correctement effectuée
Code:
EDIT : Ajout des balises de code. (la coloration syntaxique )
Explication disponible ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser à l'avenir.
Erreur:
Notice: Undefined index: Kilometre in E:\EasyPHP-DevServer-14.1VC11\data\localweb\my portable files\pjtloueur2.php on line 17
Notice: Undefined index: places in E:\EasyPHP-DevServer-14.1VC11\data\localweb\my portable files\pjtloueur2.php on line 19
Notice: Undefined index: Boîte in E:\EasyPHP-DevServer-14.1VC11\data\localweb\my portable files\pjtloueur2.php on line 23
L'insertion a été correctement effectuée
Code:
<?php //connection au serveur $cnx = mysqli_connect( "localhost", "root", "" ) ; //sélection de la base de données: $db = mysqli_select_db( $cnx, "desilux" ) ; //récupération des valeurs des champs: //Marque: $Marque = $_POST["Marque"] ; //Modèle: $Modele = $_POST["Modèle"] ; //Catégorie: $Categorie = $_POST["Catégorie"] ; //Année: $Annee = $_POST["Année"] ; //Kilometrage: $Kilometrage = $_POST['Kilometrage'] ; //Nbplaces: $Nbplaces = $_POST['Nombre de places'] ; //Carburant: $Carburant = $_POST["Carburant"] ; //Boîte de vitesse: $Boitevitesse = $_POST['Boîte de vitesse'] ; //création de la requête SQL: $sql = "INSERT INTO voiture (Marque, Modele, Serie, Annee, NbKM, Nbplace, Type, BoiteV) VALUES ( '$Marque', '$Modele', '$Categorie','$Annee','$Kilometrage','$Nbplaces','$Carburant','$Boitevitesse')" ; //exécution de la requête SQL: $requete = mysqli_query($cnx, $sql) or die( mysqli_error($cnx) ) ; //affichage des résultats, pour savoir si l'insertion a marchée: if($requete) { echo ("L'insertion a été correctement effectuée"); } else { echo ("L'insertion à êchouée") ; } ?>
EDIT : Ajout des balises de code. (la coloration syntaxique )
Explication disponible ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser à l'avenir.
A voir également:
- Undefined index php post
- Index téléphonique - Guide
- Easy php - Télécharger - Divers Web & Internet
- Telecharger index - Télécharger - Gestion de fichiers
- Brouillon post instagram - Guide
- Post it windows - Télécharger - Agendas & Calendriers
2 réponses
Bonjour,
Comme le dit Syrine, il faut en effet s'assurer que tes variables existent via la fonction isset ( ou !empty) .
Par contre, pour éviter d'écrire des IF / ELSE ... ... tu peux plus simplement utiliser l'écriture TERNAIRE.
Comme ceci :
NB: NE PAS UTILISER D'ACCENTS dans les noms de tes variables (que ce soit en PHP ou dans les attributs NAME de tes éléments HTML !! )
=> $_POST["Modèle"] devient donc : $_POST["Modele"]
et ton élément html
(idem si c'est un <select> ou n'importe quel autre élément html ! )
==> Idem pour "Catégorie" , "Année" ....
De plus .... ne pas utiliser d'ESPACES (ni de caractères spéciaux) dans des noms de variables ou des attributs html :
'Nombre de places' devrait plutôt être 'Nombre_de_places'
Comme le dit Syrine, il faut en effet s'assurer que tes variables existent via la fonction isset ( ou !empty) .
Par contre, pour éviter d'écrire des IF / ELSE ... ... tu peux plus simplement utiliser l'écriture TERNAIRE.
Comme ceci :
$Marque = isset( $_POST["Marque"]) ? $_POST["Marque"] : NULL ; //Modèle: $Modele = isset($_POST["Modele"] ) ? $_POST["Modele"] : NULL;
NB: NE PAS UTILISER D'ACCENTS dans les noms de tes variables (que ce soit en PHP ou dans les attributs NAME de tes éléments HTML !! )
=> $_POST["Modèle"] devient donc : $_POST["Modele"]
et ton élément html
<input name='Modele' ...>
(idem si c'est un <select> ou n'importe quel autre élément html ! )
==> Idem pour "Catégorie" , "Année" ....
De plus .... ne pas utiliser d'ESPACES (ni de caractères spéciaux) dans des noms de variables ou des attributs html :
'Nombre de places' devrait plutôt être 'Nombre_de_places'
R.Khaleesi
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
Merci beaucoup ! ça fonctionne parfaitement :) !
Undefined index->ce la veux dire qu'il ne sait pas si la paramètre(vos champs html) existe ou pas . donc ce cas, il faut utiliser la fonction isset() prédéfinis en php pour résoudre le probléme. de plus il faut aussi vérifier le nom du vos champs html.
EDIT : Ajout des balises de code. (la coloration syntaxique )
Explication disponible ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser à l'avenir.
if(isset($_POST["Marque"] ) && ....){ //votre traitement du code ici }
EDIT : Ajout des balises de code. (la coloration syntaxique )
Explication disponible ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser à l'avenir.