Rechercher : dans
Par :

[PHP] Erreur : Undefined index

Dernière réponse le 4 mai 2009 à 22:57:15 yasmine, le 4 mai 2009 à 22:33:46 
 Signaler ce message aux modérateurs

Bonjour, je ss nouvelle en php et mysql , j'ai essayer d'executer une insertion d'une ligne à la bdd avec le code php suivent :
<?php
$id=mysql_connect("localhost","root",""); //se connecter à mysql
if($id>0) echo"connexion mysql ok"; echo"<br><br>";
$id=mysql_select_db("restaurent"); //selection de la base de données
if($id>0) echo "connexion bas restaurent ok"; echo"<br><br>";
//pour simplifier l'écriture on définit des variables
$nom=$_POST['nom'];$mail=$_POST['mail'];
//insertion du client dans la table 'clients'
$id=mysql_query("INSERT INTO'clients'('id','NomClient','MailClient','NbVisites') VALUES('','$nom','$mail','1')");
if ($id>0) echo "client enregistré";echo"<br><br>";
mysql_close();
?>

et en executant ce code voilà l'erreur qui me parais :

Notice: Undefined index: nom in c:\program files\easyphp1-8\www\tp\insertion.php on line 7

Notice: Undefined index: mail in c:\program files\easyphp1-8\www\tp\insertion.php on line 7

merci d'avance !!

Configuration: Windows XP
Firefox 3.0.10

Meilleures réponses pour « [PHP] Erreur : Undefined index » dans :
[PHP] Notice: Undefined index: Voir Si vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
[PHP] Méthodes de débogage VoirI. Informations sur une variable I.1 echo I.2 print_r() I.3 var_dump() / var_export() I.4 Rediriger la sortie (ne pas afficher à l'écran) II. "Backtrace" ou rapport de contexte III. Bien utiliser les rapports d'erreur IV. Le mot clé...
[PHP] Fonction mail() VoirLa fonction mail() est bloquée chez certains des hébergeurs gratuits pour des raisons de sécurité (afin d'éviter le spam notamment), l'adresse ip de la machine qui a demandé le script sera alors indiquée dans le header 'X-MM-Mail-From-IP'. renseignez...
PHP - Connexion à un annuaire LDAP VoirIntroduction à LDAP PHP permet la connexion et l'envoi de requêtes sur un annuaire LDAP, c'est-à-dire un serveur permettant de stocker des informations de manière hiérarchique. Un serveur LDAP est conçu pour être capable de gérer les opérations...

1

pyschopathe, le 4 mai 2009 à 22:55:45

Ça veut simplement dire que tes variables $_POST['nom'] et $_POST['mail'] n'existent pas.
edit : vérifie que ton formulaire n'envoie pas les données par la méthode get par exemple.

Une des règles en PHP (et en programmation en général d'ailleurs) : Never Trust User Input : Ne fais jamais confiance au données provenant de l'utilisateur !

Donc avant d'utiliser tes variables issues d'un formulaire, tu dois vérifier qu'elles existent et qu'elles sont bien ce qu'elles devraient être : intval() pour un entier, mysql_real_escape_string() avec chaque chaine de caractères... C'est la base pour prévenir la plupart des attaques par injection SQL. Sinon tu laisses de grosses failles dans ton site et n'importe qui pourrait faire n'importe quoi !

Répondre à pyschopathe

2

 Ki!l, le 4 mai 2009 à 22:57:15

Comme le dit le msg d'erreur il nexiste pas qq chose dans ton formulaire qui s'appelle nom et mail
tu peut utiliser simplement isset pour tester l'existence d'une variable
poster le code de formulaire pour que je peut t aider Il est assez difficile de trouver une erreur dans son code q­uand on la cherche.
C'est encore bien plus dur quand on est convaincu que le cod­e est juste.

Répondre à Ki!l