Undefined variable [Résolu/Fermé]

Signaler
-
Messages postés
4311
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
-
Bonjour,
j'ai dans page php une partie "message du nombre d'enregistrement dans la BD"
j'ai initialisé les compteurs comme ça
$nb_insert=0;
$nb_update=0;
$nb_delete=0;
après j'ai faisais la partie d'insertion , Update et suppression
et puis
j'ai mis cette portion de code
$msg_enr_modifs='<font color="green">';
if($$nb_insert>0) $msg_enr_modifs.=$nb_insert." ajout de lignes de valeurs<br />";
if($nb_update>0) $msg_enr_modifs.=$nb_update." lignes de valeurs modifiées<br />";
if($nb_delete>0) $msg_enr_modifs.=$nb_delete." lignes de valeurs suprimées<br />";
$msg_enr_modifs.='</font>';
il m'affiche comme erreur
que les 3 compteurs sont Undefined variables
et après je utiliser l'id user pour chercher des enregistrements
alors j'ai pensé à la récupération de l'id
la ligne est :
$Id_user=$_SESSION['Id_user'];
de même il m'afficher "Undefined variables, Id_user" quelqu'un peux voir ou se trouve l'erreur svp , merci

29 réponses

de plus il prends pas les autres inserts juste de la 1 ère :
$sql_1="INSERT INTO scenario (id_scenario,Id_user,titre,commentaire) VALUES('','".$_SESSION['Id_user']."','".$titre."','".$commentaire."')";
et l'enregistre pas dans la BD
oui il y a pas de problème de majuscule et de minuscule dans les tables et la partie php
est qu' il y a quelqu'un pour m'aider de corriger mon code svp
Messages postés
4311
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
767
Pourquoi ton "values" commence par une virgule ?
non il commence pas par virgule
Messages postés
4311
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
767
$sql_1="INSERT INTO scenario (id_scenario,Id_user,titre,commentaire) VALUES('','".$_SESSION['Id_user']."','".$titre."','".$commentaire."')"; 


Même problème que tout à l'heure : soit tu as oublié le session_start() ; soit ta session n'existe pas, ce en cas il faut gérer le cas.

$userId = (isset($_SESSION['Id_user'])) ? $_SESSION['Id_user'] : "";

$sql_1="INSERT INTO scenario (id_scenario,Id_user,titre,commentaire) VALUES('','".$userId."','".$titre."','".$commentaire."')"; 
c'est bon pour l'erreur merci , par contre comme tu as vu j'ai 2 insert
une dans la table secnario et pour la table valeurs à saisir ,
qd j'ai rempli le tableau de valeur et après j'ai regardé ma base de donnée j'ai remarqué que pour la table scenario les champs sont pleins par contre l'autre table elle est toujours vide j'ai essayé de faire echo il m'a affiché dans la page web les valeurs que j'ai déjà inséré je sais pas d'ou vient l'erreur ??
voilà la 2 emme insert
//recup de l'ID
$id_scenario= mysql_insert_id();
$sql='insert into valeurs_a_saisir(id_valeur,cof_eau_du_sol, niv_de_debordement, taux_concentration, pour_etanchite, niv_depart, sal_sol, but, choix_sortie, origine_iragation, sal_eau_entre, condition_climatique, annee, id_scenario) values ("'.$cof_eau_du_sol.'", "'.$niv_de_debordement.'", "'.$taux_concentration.'", "'.$pour_etanchite.'", "'.$niv_depart.'", "'.$sal_sol.'", "'.$but.'", "'.$choix_sortie.'", "'.$origine_iragation.'", "'.$sal_eau_entre.'", "'.$condition_climatique.'", "'.$annee.'", "'.$id_scenario.'")';
echo $sql;
$requete = $db->query($sql) ;
Messages postés
4311
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
767
Aucune erreur ?
aucune erreur
même qd je faisais echo $sql; il m'a affciher dans la page web ça:
insert into valeurs_a_saisir(id_valeur,cof_eau_du_sol, niv_de_debordement, taux_concentration, pour_etanchite, niv_depart, sal_sol, but, choix_sortie, origine_iragation, sal_eau_entre, condition_climatique, annee, id_scenario) values ("5.16932", "100", "5546", "6565", "10", "1", "1", "1", "Fleuve", "failbe", "moyenne", "", "0"), je comprend pas pourquoi il ne l'enregistre pas dans la BD
Messages postés
4311
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
767
Il manque une valeur vide pour l'ID non ?
merci infiniment , c'est bon j'ai éliminé l'd_valeur et c'est bon il enregistre le valeurs par contre il me reste un petit souci dans mes 2 table (scenario et valeurs ) comme dans chaqu'une de table j'ai la clé primaire de même table et l'id primaire de l'autre
mon problème c'est que l'incrémentation automatique ça marche normale pour chaque table mais pour le 2 clés étrangères toujours 0:
exp : dans la table secario j'ai , id_scenario (l'incrémentation automatique ça marche) et pour l'id_valeur dans la table scenario comme clé étrangée toujours à 0, j'ai fais quoi pour que l'incrémentation ça marche pour toutes les clés ?
Messages postés
4311
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
767
Une clé primaire s'incrémente, pas une clé étrangère.
Une clé étrangère veut simplement dire que la colonne en question ne peut prendre qu'une des valeur de l'ID de l'autre table. C'est à toi d'insérer les valeurs manuellement.
d'accord je te remercie infiniment et bonne journée
Messages postés
4311
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
767
Je t'en pris ; je te passe en résolu