Undefined index
Résolu
R.Khaleesi
Messages postés
3
Statut
Membre
-
R.Khaleesi Messages postés 3 Statut Membre -
R.Khaleesi Messages postés 3 Statut Membre -
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
Statut
Membre
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.