Undefined variable

Résolu/Fermé
AMARI - 18 avril 2013 à 09:29
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 - 18 avril 2013 à 14:57
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
0
oui il y a pas de problème de majuscule et de minuscule dans les tables et la partie php
0
est qu' il y a quelqu'un pour m'aider de corriger mon code svp
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
18 avril 2013 à 13:52
Pourquoi ton "values" commence par une virgule ?
0
non il commence pas par virgule
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
18 avril 2013 à 14:01
$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."')"; 
0
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) ;
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
18 avril 2013 à 14:17
Aucune erreur ?
0
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
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
18 avril 2013 à 14:25
Il manque une valeur vide pour l'ID non ?
0
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 ?
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
18 avril 2013 à 14:47
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.
0
d'accord je te remercie infiniment et bonne journée
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
18 avril 2013 à 14:57
Je t'en pris ; je te passe en résolu
0