Undefined variable
Résolu
AMARI
-
Mihawk Messages postés 4315 Date d'inscription Statut Contributeur Dernière intervention -
Mihawk Messages postés 4315 Date d'inscription Statut Contributeur Dernière intervention -
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
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
A voir également:
- Warning: undefined variable
- Warning zone telechargement - Accueil - Outils
- Téléchargement et streaming illégal : voici les adresses des sites pirates que les FAI vont bloquer - Accueil - Services en ligne
- Undefined mail - Forum Gmail
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
- Warning battery is low ✓ - Forum Matériel & Système
29 réponses
Bonjour,
Si tu appelles ces variables dans deux pages PHP qui n'ont aucun rapport l'une avec l'autre, alors il est normal qu'il ne les connaisse pas.
Si tu appelles ces variables dans deux pages PHP qui n'ont aucun rapport l'une avec l'autre, alors il est normal qu'il ne les connaisse pas.
En fait "Undefined variable" signifie que tu déclares tes variables à un endroit, mais que tu t'en sers à un autre endroit... Alors que les deux endroits en question ne sont pas liés l'un à l'autre.
Tu peux essayer de remplacer tes variables compteurs par des variables globales :
Et ensuite tu y accèdes en faisant :
Tu peux essayer de remplacer tes variables compteurs par des variables globales :
global $nb_insert=0; global $nb_update=0; global $nb_delete=0;
Et ensuite tu y accèdes en faisant :
if ($GLOBALS['nb_insert'] > 0) ; if ($GLOBALS['nb_update'] > 0) ; if ($GLOBALS['nb_delete'] > 0) ;
j'ai essayé de remplacer mon code avec le tien mais il m'affiche ça comme erreur
"( ! ) Parse error: syntax error, unexpected '=', expecting ',' or ';' in C:\wamp\www\on line 41"
est que le syntaxe est faut ??
"( ! ) Parse error: syntax error, unexpected '=', expecting ',' or ';' in C:\wamp\www\on line 41"
est que le syntaxe est faut ??
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ThEBiShOp : voilà mon code :
<?php
require_once('dbconnect.php');
?>
<?php
$msg_enr_modifs="";
//// -- partie enregistrement des modifs scénario ----
if(isset($_POST['enr_modifs'])){
//le bouton enr modifs a été cliqué
//recup des valeurs postées
$cof_eau_du_sol = $_POST['cof_eau_du_sol'];
$niv_de_debordement = $_POST['niv_de_debordement'];
$taux_concentration = $_POST['taux_concentration'];
$pour_etanchite = $_POST['pour_etanchite'];
$niv_depart = $_POST['niv_depart'];
$sal_sol = $_POST['sal_sol'];
$but = $_POST['but'];
$choix_sortie = $_POST['choix_sortie'];
$origine_iragation = $_POST['origine_iragation'];
$sal_eau_entre = $_POST['sal_eau_entre'];
$condition_climatique = $_POST['condition_climatique'];
$annee = $_POST['annee'];
//$Mois = $_POST['Mois'];
$titre=$_POST['titre'];
$commentaire=$_POST['commentaire'];
//on UPDATE d'abord dans la table scenario les modifs éventuelles de titre et commentaire
$sql_1="UPDATE scenario SET titre='".$titre."',commentaire='".$commentaire."' WHERE id_scenario='".$id_scenario."'";
$requete1 = $db->query($sql_1) ;
//puis Update ou insert ou Delete dans table valeurs
//init compteurs
global $nb_insert = 0;// ligne 41
global $nb_update = 0;
global $nb_delete =0;
// 3 cas: ajout, modif, supression
if(empty($cof_eau_du_sol) && empty($niv_de_debordement) && empty($taux_concentration)&& empty($pour_etanchite)&& empty($niv_depart)
&& empty($sal_sol)&& empty($but)&& empty($choix_sortie)&& empty($origine_iragation)&& empty($sal_eau_entre)&& empty($condition_climatique)){
//les champs ne sont pas vides mais étaient vides avant, c'est un ajout donc INSERT
$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, Mois,id_scenario) values ("'.$cof_eau_du_sol.'", "'.$niv_de_debordement.'", "'.$taux_concentration.'", "'.$pour_etanchite.'", "'.$niv_depart.'", "'.$sal_sol.'", "'.$arraybut[$mois].'", "'.$choix_sortie.'", "'.$origine_iragation.'", "'.$sal_eau_entre.'", "'.$condition_climatique.'", "'.$annee.'", "'.$Mois.'","'.$id_scenario.'")';
$requete = $db->query($sql) ;//or die( mysql_error() );
}
echo "<br />".$sql;
$requete = $db->query($sql) ;
$nb_insert++;
//}
//un ou les champs ont eté modifiés, donc UPDATE
$sql="UPDATE valeurs SET cof_eau_du_sol='".$cof_eau_du_sol."', niv_de_debordement='".$niv_de_debordement."' taux_concentration='".$taux_concentration."'pour_etanchite='".$pour_etanchite."'niv_depart='".$niv_depart."'sal_sol='".$sal_sol."'but='".$arraybut[$mois]."'choix_sortie='".$choix_sortie."'origine_iragation='".$origine_iragation."'sal_eau_entre='".$sal_eau_entre."'condition_climatique='".$condition_climatique."'annee='".$annee."' WHERE id_scenario ='".$id_scenario."' AND mois='".$mois."'";
echo "<br />".$sql;
$requete = $db->query($sql) ;
$nb_update++;
if(empty($cof_eau_du_sol) && empty($niv_de_debordement) && empty($taux_concentration)&& empty($pour_etanchite)&& empty($niv_depart)
&& empty($sal_sol)&& empty($but)&& empty($choix_sortie)&& empty($origine_iragation)&& empty($sal_eau_entre)&& empty($condition_climatique)){
//les champs sont vides mais n'étaient pas vides avant, c'est une suppression de valeurs donc DELETE
$sql="DELETE FROM valeurs_a_saisir WHERE id_scenario ='".$id_scenario."'";
echo "<br />".$sql;
$requete = $db->query($sql) ;
$nb_delete++;
}
}
//message du nombre d'enr dans la BDD
$msg_enr_modifs='<font color="green">';
if ($GLOBALS['nb_insert'] > 0) ; $msg_enr_modifs.=$nb_insert." ajout de lignes de valeurs<br />";
if ($GLOBALS['nb_update'] > 0) ;$msg_enr_modifs.=$nb_update." lignes de valeurs modifiées<br />";
if ($GLOBALS['nb_delete'] > 0) ; $msg_enr_modifs.=$nb_delete." lignes de valeurs suprimées<br />";
$msg_enr_modifs.='</font>';
///// ---------------------
////----- Partie recherche des scenari pour cet utilisateur --------
//recup id_utilisateur dans la variable de session
$Id_user=$_SESSION['Id_user'];// ici aussi j'ai Undefined value
//recup du choix eventuel dans la liste déroulante scénario
if(isset($_POST['liste_scenario'])){
$scenario=$_POST['liste_scenario'];
}else{
$scenario="";
}
$sql="SELECT * FROM scenario WHERE Id_user='".$Id_user."' ";
//echo "<br />".$sql;
$requete = $db->query($sql);
//comptage du nb de scénario trouvé pour cet utilisateur
$row_cnt = mysqli_num_rows($requete);
if($row_cnt>0){
//si il y un ou des scénario, on affiche la page avec la liste déroulante
la partie html
?>
<?php
require_once('dbconnect.php');
?>
<?php
$msg_enr_modifs="";
//// -- partie enregistrement des modifs scénario ----
if(isset($_POST['enr_modifs'])){
//le bouton enr modifs a été cliqué
//recup des valeurs postées
$cof_eau_du_sol = $_POST['cof_eau_du_sol'];
$niv_de_debordement = $_POST['niv_de_debordement'];
$taux_concentration = $_POST['taux_concentration'];
$pour_etanchite = $_POST['pour_etanchite'];
$niv_depart = $_POST['niv_depart'];
$sal_sol = $_POST['sal_sol'];
$but = $_POST['but'];
$choix_sortie = $_POST['choix_sortie'];
$origine_iragation = $_POST['origine_iragation'];
$sal_eau_entre = $_POST['sal_eau_entre'];
$condition_climatique = $_POST['condition_climatique'];
$annee = $_POST['annee'];
//$Mois = $_POST['Mois'];
$titre=$_POST['titre'];
$commentaire=$_POST['commentaire'];
//on UPDATE d'abord dans la table scenario les modifs éventuelles de titre et commentaire
$sql_1="UPDATE scenario SET titre='".$titre."',commentaire='".$commentaire."' WHERE id_scenario='".$id_scenario."'";
$requete1 = $db->query($sql_1) ;
//puis Update ou insert ou Delete dans table valeurs
//init compteurs
global $nb_insert = 0;// ligne 41
global $nb_update = 0;
global $nb_delete =0;
// 3 cas: ajout, modif, supression
if(empty($cof_eau_du_sol) && empty($niv_de_debordement) && empty($taux_concentration)&& empty($pour_etanchite)&& empty($niv_depart)
&& empty($sal_sol)&& empty($but)&& empty($choix_sortie)&& empty($origine_iragation)&& empty($sal_eau_entre)&& empty($condition_climatique)){
//les champs ne sont pas vides mais étaient vides avant, c'est un ajout donc INSERT
$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, Mois,id_scenario) values ("'.$cof_eau_du_sol.'", "'.$niv_de_debordement.'", "'.$taux_concentration.'", "'.$pour_etanchite.'", "'.$niv_depart.'", "'.$sal_sol.'", "'.$arraybut[$mois].'", "'.$choix_sortie.'", "'.$origine_iragation.'", "'.$sal_eau_entre.'", "'.$condition_climatique.'", "'.$annee.'", "'.$Mois.'","'.$id_scenario.'")';
$requete = $db->query($sql) ;//or die( mysql_error() );
}
echo "<br />".$sql;
$requete = $db->query($sql) ;
$nb_insert++;
//}
//un ou les champs ont eté modifiés, donc UPDATE
$sql="UPDATE valeurs SET cof_eau_du_sol='".$cof_eau_du_sol."', niv_de_debordement='".$niv_de_debordement."' taux_concentration='".$taux_concentration."'pour_etanchite='".$pour_etanchite."'niv_depart='".$niv_depart."'sal_sol='".$sal_sol."'but='".$arraybut[$mois]."'choix_sortie='".$choix_sortie."'origine_iragation='".$origine_iragation."'sal_eau_entre='".$sal_eau_entre."'condition_climatique='".$condition_climatique."'annee='".$annee."' WHERE id_scenario ='".$id_scenario."' AND mois='".$mois."'";
echo "<br />".$sql;
$requete = $db->query($sql) ;
$nb_update++;
if(empty($cof_eau_du_sol) && empty($niv_de_debordement) && empty($taux_concentration)&& empty($pour_etanchite)&& empty($niv_depart)
&& empty($sal_sol)&& empty($but)&& empty($choix_sortie)&& empty($origine_iragation)&& empty($sal_eau_entre)&& empty($condition_climatique)){
//les champs sont vides mais n'étaient pas vides avant, c'est une suppression de valeurs donc DELETE
$sql="DELETE FROM valeurs_a_saisir WHERE id_scenario ='".$id_scenario."'";
echo "<br />".$sql;
$requete = $db->query($sql) ;
$nb_delete++;
}
}
//message du nombre d'enr dans la BDD
$msg_enr_modifs='<font color="green">';
if ($GLOBALS['nb_insert'] > 0) ; $msg_enr_modifs.=$nb_insert." ajout de lignes de valeurs<br />";
if ($GLOBALS['nb_update'] > 0) ;$msg_enr_modifs.=$nb_update." lignes de valeurs modifiées<br />";
if ($GLOBALS['nb_delete'] > 0) ; $msg_enr_modifs.=$nb_delete." lignes de valeurs suprimées<br />";
$msg_enr_modifs.='</font>';
///// ---------------------
////----- Partie recherche des scenari pour cet utilisateur --------
//recup id_utilisateur dans la variable de session
$Id_user=$_SESSION['Id_user'];// ici aussi j'ai Undefined value
//recup du choix eventuel dans la liste déroulante scénario
if(isset($_POST['liste_scenario'])){
$scenario=$_POST['liste_scenario'];
}else{
$scenario="";
}
$sql="SELECT * FROM scenario WHERE Id_user='".$Id_user."' ";
//echo "<br />".$sql;
$requete = $db->query($sql);
//comptage du nb de scénario trouvé pour cet utilisateur
$row_cnt = mysqli_num_rows($requete);
if($row_cnt>0){
//si il y un ou des scénario, on affiche la page avec la liste déroulante
la partie html
?>
Au temps pour moi pour les globales, il faut les déclarer et les affecter indépendamment.
global $nb_insert, $nb_update, $nb_delete; $nb_update=0; $nb_delete=0; $nb_delete=0;
Mihawk ;
j'ai essayé avec ton dernier code il m'affiche encore que les 3 compteurs sont Undefined :(
j'ai essayé avec ton dernier code il m'affiche encore que les 3 compteurs sont Undefined :(
j'ai utilisé il l'a pas affiché et j'ai mis l'initialisation de compteurs comme commentaire il m'a affiché l'erreur (Undefined ) dans l'autre partie du coup pour l'initialisation il y a pas de problème c'est dans cette portion de code que ne connait pas les compteurs
$msg_enr_modifs='<font color="green">';
if ($GLOBALS['nb_insert'] > 0) ; $msg_enr_modifs.=$nb_insert." ajout de lignes de valeurs<br />";
if ($GLOBALS['nb_update'] > 0) ;$msg_enr_modifs.=$nb_update." lignes de valeurs modifiées<br />";
if ($GLOBALS['nb_delete'] > 0) ; $msg_enr_modifs.=$nb_delete." lignes de valeurs suprimées<br />";
$msg_enr_modifs.='</font>';
$msg_enr_modifs='<font color="green">';
if ($GLOBALS['nb_insert'] > 0) ; $msg_enr_modifs.=$nb_insert." ajout de lignes de valeurs<br />";
if ($GLOBALS['nb_update'] > 0) ;$msg_enr_modifs.=$nb_update." lignes de valeurs modifiées<br />";
if ($GLOBALS['nb_delete'] > 0) ; $msg_enr_modifs.=$nb_delete." lignes de valeurs suprimées<br />";
$msg_enr_modifs.='</font>';
dans le 2 cas avec ou bien sans global il m'affiche toujours le même erreur , vous savez pas d'ou vient cet erreur :((((((
voilà le code sans Global
<?php
require_once('dbconnect.php');
?>
<?php
$msg_enr_modifs="";
//// -- partie enregistrement des modifs scénario ----
if(isset($_POST['enr_modifs'])){
//le bouton enr modifs a été cliqué
$cof_eau_du_sol = $_POST['cof_eau_du_sol'];
$niv_de_debordement = $_POST['niv_de_debordement'];
$taux_concentration = $_POST['taux_concentration'];
$pour_etanchite = $_POST['pour_etanchite'];
$niv_depart = $_POST['niv_depart'];
$sal_sol = $_POST['sal_sol'];
$but = $_POST['but'];
$choix_sortie = $_POST['choix_sortie'];
$origine_iragation = $_POST['origine_iragation'];
$sal_eau_entre = $_POST['sal_eau_entre'];
$condition_climatique = $_POST['condition_climatique'];
$annee = $_POST['annee'];
//$Mois = $_POST['Mois'];
$titre=$_POST['titre'];
$commentaire=$_POST['commentaire'];
//on UPDATE d'abord dans la table scenario les modifs éventuelles de titre et commentaire
$sql_1="UPDATE scenario SET titre='".$titre."',commentaire='".$commentaire."' WHERE id_scenario='".$id_scenario."'";
$requete1 = $db->query($sql_1) ;
//puis Update ou insert ou Delete dans table valeurs
//init compteurs
$nb_insert=0;
$nb_update=0;
$nb_delete=0;
// 3 cas: ajout, modif, supression
if(empty($cof_eau_du_sol) && empty($niv_de_debordement) && empty($taux_concentration)&& empty($pour_etanchite)&& empty($niv_depart)
&& empty($sal_sol)&& empty($but)&& empty($choix_sortie)&& empty($origine_iragation)&& empty($sal_eau_entre)&& empty($condition_climatique)){
//les champs ne sont pas vides mais étaient vides avant, c'est un ajout donc INSERT
$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, Mois,id_scenario) values ("'.$cof_eau_du_sol.'", "'.$niv_de_debordement.'", "'.$taux_concentration.'", "'.$pour_etanchite.'", "'.$niv_depart.'", "'.$sal_sol.'", "'.$arraybut[$mois].'", "'.$choix_sortie.'", "'.$origine_iragation.'", "'.$sal_eau_entre.'", "'.$condition_climatique.'", "'.$annee.'", "'.$Mois.'","'.$id_scenario.'")';
$requete = $db->query($sql) ;//or die( mysql_error() );
}
echo "<br />".$sql;
$requete = $db->query($sql) ;
$nb_insert++;
//}
//un ou les champs ont eté modifiés, donc UPDATE
$sql="UPDATE valeurs SET cof_eau_du_sol='".$cof_eau_du_sol."', niv_de_debordement='".$niv_de_debordement."' taux_concentration='".$taux_concentration."'pour_etanchite='".$pour_etanchite."'niv_depart='".$niv_depart."'sal_sol='".$sal_sol."'but='".$arraybut[$mois]."'choix_sortie='".$choix_sortie."'origine_iragation='".$origine_iragation."'sal_eau_entre='".$sal_eau_entre."'condition_climatique='".$condition_climatique."'annee='".$annee."' WHERE id_scenario ='".$id_scenario."' AND mois='".$mois."'";
echo "<br />".$sql;
$requete = $db->query($sql) ;
$nb_update++;
if(empty($cof_eau_du_sol) && empty($niv_de_debordement) && empty($taux_concentration)&& empty($pour_etanchite)&& empty($niv_depart)
&& empty($sal_sol)&& empty($but)&& empty($choix_sortie)&& empty($origine_iragation)&& empty($sal_eau_entre)&& empty($condition_climatique)){
//les champs sont vides mais n'étaient pas vides avant, c'est une suppression de valeurs donc DELETE
$sql="DELETE FROM valeurs_a_saisir WHERE id_scenario ='".$id_scenario."'";
echo "<br />".$sql;
$requete = $db->query($sql) ;
$nb_delete++;
}
}
//message du nombre d'enr dans la BDD
$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>';
// c'est ici qu'il m'affiche l'erreur
///// ---------------------
////----- Partie recherche des scenari pour cet utilisateur --------
//recup id_utilisateur dans la variable de session
$Id_user=$_SESSION['Id_user'];// ici même erreur
//recup du choix eventuel dans la liste déroulante scénario
if(isset($_POST['liste_scenario'])){
$scenario=$_POST['liste_scenario'];
}else{
$scenario="";
}
$sql="SELECT * FROM scenario WHERE Id_user='".$Id_user."' ";
//echo "<br />".$sql;
$requete = $db->query($sql);
//comptage du nb de scénario trouvé pour cet utilisateur
$row_cnt = mysqli_num_rows($requete);
if($row_cnt>0){
//si il y un ou des scénario, on affiche la page avec la liste déroulante
?>
<?php
require_once('dbconnect.php');
?>
<?php
$msg_enr_modifs="";
//// -- partie enregistrement des modifs scénario ----
if(isset($_POST['enr_modifs'])){
//le bouton enr modifs a été cliqué
$cof_eau_du_sol = $_POST['cof_eau_du_sol'];
$niv_de_debordement = $_POST['niv_de_debordement'];
$taux_concentration = $_POST['taux_concentration'];
$pour_etanchite = $_POST['pour_etanchite'];
$niv_depart = $_POST['niv_depart'];
$sal_sol = $_POST['sal_sol'];
$but = $_POST['but'];
$choix_sortie = $_POST['choix_sortie'];
$origine_iragation = $_POST['origine_iragation'];
$sal_eau_entre = $_POST['sal_eau_entre'];
$condition_climatique = $_POST['condition_climatique'];
$annee = $_POST['annee'];
//$Mois = $_POST['Mois'];
$titre=$_POST['titre'];
$commentaire=$_POST['commentaire'];
//on UPDATE d'abord dans la table scenario les modifs éventuelles de titre et commentaire
$sql_1="UPDATE scenario SET titre='".$titre."',commentaire='".$commentaire."' WHERE id_scenario='".$id_scenario."'";
$requete1 = $db->query($sql_1) ;
//puis Update ou insert ou Delete dans table valeurs
//init compteurs
$nb_insert=0;
$nb_update=0;
$nb_delete=0;
// 3 cas: ajout, modif, supression
if(empty($cof_eau_du_sol) && empty($niv_de_debordement) && empty($taux_concentration)&& empty($pour_etanchite)&& empty($niv_depart)
&& empty($sal_sol)&& empty($but)&& empty($choix_sortie)&& empty($origine_iragation)&& empty($sal_eau_entre)&& empty($condition_climatique)){
//les champs ne sont pas vides mais étaient vides avant, c'est un ajout donc INSERT
$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, Mois,id_scenario) values ("'.$cof_eau_du_sol.'", "'.$niv_de_debordement.'", "'.$taux_concentration.'", "'.$pour_etanchite.'", "'.$niv_depart.'", "'.$sal_sol.'", "'.$arraybut[$mois].'", "'.$choix_sortie.'", "'.$origine_iragation.'", "'.$sal_eau_entre.'", "'.$condition_climatique.'", "'.$annee.'", "'.$Mois.'","'.$id_scenario.'")';
$requete = $db->query($sql) ;//or die( mysql_error() );
}
echo "<br />".$sql;
$requete = $db->query($sql) ;
$nb_insert++;
//}
//un ou les champs ont eté modifiés, donc UPDATE
$sql="UPDATE valeurs SET cof_eau_du_sol='".$cof_eau_du_sol."', niv_de_debordement='".$niv_de_debordement."' taux_concentration='".$taux_concentration."'pour_etanchite='".$pour_etanchite."'niv_depart='".$niv_depart."'sal_sol='".$sal_sol."'but='".$arraybut[$mois]."'choix_sortie='".$choix_sortie."'origine_iragation='".$origine_iragation."'sal_eau_entre='".$sal_eau_entre."'condition_climatique='".$condition_climatique."'annee='".$annee."' WHERE id_scenario ='".$id_scenario."' AND mois='".$mois."'";
echo "<br />".$sql;
$requete = $db->query($sql) ;
$nb_update++;
if(empty($cof_eau_du_sol) && empty($niv_de_debordement) && empty($taux_concentration)&& empty($pour_etanchite)&& empty($niv_depart)
&& empty($sal_sol)&& empty($but)&& empty($choix_sortie)&& empty($origine_iragation)&& empty($sal_eau_entre)&& empty($condition_climatique)){
//les champs sont vides mais n'étaient pas vides avant, c'est une suppression de valeurs donc DELETE
$sql="DELETE FROM valeurs_a_saisir WHERE id_scenario ='".$id_scenario."'";
echo "<br />".$sql;
$requete = $db->query($sql) ;
$nb_delete++;
}
}
//message du nombre d'enr dans la BDD
$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>';
// c'est ici qu'il m'affiche l'erreur
///// ---------------------
////----- Partie recherche des scenari pour cet utilisateur --------
//recup id_utilisateur dans la variable de session
$Id_user=$_SESSION['Id_user'];// ici même erreur
//recup du choix eventuel dans la liste déroulante scénario
if(isset($_POST['liste_scenario'])){
$scenario=$_POST['liste_scenario'];
}else{
$scenario="";
}
$sql="SELECT * FROM scenario WHERE Id_user='".$Id_user."' ";
//echo "<br />".$sql;
$requete = $db->query($sql);
//comptage du nb de scénario trouvé pour cet utilisateur
$row_cnt = mysqli_num_rows($requete);
if($row_cnt>0){
//si il y un ou des scénario, on affiche la page avec la liste déroulante
?>
Déplace l'initialisation des compteurs au début du code :
<?php $msg_enr_modifs=""; //init compteurs $nb_insert=0; $nb_update=0; $nb_delete=0;
j'ai éliminé la partie if (isset($_POST['enr_modifs']))
il m'a afficher que tous mes variables son Undifined non seulement les 3 compteurs
il m'a afficher que tous mes variables son Undifined non seulement les 3 compteurs
Merci Mihawk, merci ThEBiShOp je faisais comme tu m'as dit Mihawk là c'est bon pour les compteurs mais pour l'id_user tjrs il es undifined
//recup id_utilisateur dans la variable de session
$Id_user=$_SESSION['Id_user'];// ici l'erreur
//recup id_utilisateur dans la variable de session
$Id_user=$_SESSION['Id_user'];// ici l'erreur
Mihawk: il m'affiche Undefined index:
ThEBiShOp : pour la sussion_start() j'ai inclue une page head dans la quelle il y la sussion_start()
ThEBiShOp : pour la sussion_start() j'ai inclue une page head dans la quelle il y la sussion_start()
Il faut gérer le cas où tu n'as pas de Id_User :
///// --------------------- ////----- Partie recherche des scenari pour cet utilisateur -------- $Id_user = (isset($_SESSION['Id_user'])) ? $_SESSION['Id_user'] : null; //recup du choix eventuel dans la liste déroulante scénario if ($Id_user != null){ if(isset($_POST['liste_scenario'])){ $scenario=$_POST['liste_scenario']; } else { $scenario=""; } $sql="SELECT * FROM scenario WHERE Id_user='".$Id_user."' "; //echo "<br />".$sql; $requete = $db->query($sql); //comptage du nb de scénario trouvé pour cet utilisateur $row_cnt = mysqli_num_rows($requete); if($row_cnt>0){
en fait pour la page head il juste session_start();
et j'ai la page accueil dans la quelle si un user est connecté j'affiche tous les pages que lui concerne du coup j'ai utilisé
<?php
// si l'utilisateur est connecté comme simple utilisateur ...
if($_SESSION['privilege'] == "user") { // Affichage conditionnel : si et seulement si l'utilisateur est connecté avec le privilege utilisateur simple ?>
<strong><u>En tant qu'utilisateur simple vous ne pouvez pas effectuer d'actions</u></strong>
<?php }
et j'ai la page accueil dans la quelle si un user est connecté j'affiche tous les pages que lui concerne du coup j'ai utilisé
<?php
// si l'utilisateur est connecté comme simple utilisateur ...
if($_SESSION['privilege'] == "user") { // Affichage conditionnel : si et seulement si l'utilisateur est connecté avec le privilege utilisateur simple ?>
<strong><u>En tant qu'utilisateur simple vous ne pouvez pas effectuer d'actions</u></strong>
<?php }
merci Mihawk c'est bon il m'affiche plus l'erreur de Undfined index il m'a afficher le tableau de valeur normal et qd j'ai inséré mes valeurs et j'ai cliqué sur enregistré il m'a afficher un autre erreur "Notice: Undefined index: Id_user in C:"
et cet erreur vient de cette ligne de code dans ma deuxièmme page .
//on enregistre d'abord dans la table scenario
$sql_1="INSERT INTO scenario (id_scenario,Id_user,titre,commentaire) VALUES('','".$_SESSION['user']."','".$titre."','".$commentaire."')";
echo $sql_1;
pouratnt dans mes 2 table ( User et scenario) sql j'en ai l'id_user
et cet erreur vient de cette ligne de code dans ma deuxièmme page .
//on enregistre d'abord dans la table scenario
$sql_1="INSERT INTO scenario (id_scenario,Id_user,titre,commentaire) VALUES('','".$_SESSION['user']."','".$titre."','".$commentaire."')";
echo $sql_1;
pouratnt dans mes 2 table ( User et scenario) sql j'en ai l'id_user
je te donne le code de la 2 émme page :
<?php
require_once('dbconnect.php');
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<p align="center" class="titre"><strong>- : : : Veuillez remplir ce tableau : : : -</strong></p>
<?php
//On verifie que le formulaire a été envoye
if(isset($_POST['enregistrer']))
{
// on récupère les valeurs qui ont poster
$cof_eau_du_sol = $_POST['cof_eau_du_sol'];
$niv_de_debordement = $_POST['niv_de_debordement'];
$taux_concentration = $_POST['taux_concentration'];
$pour_etanchite = $_POST['pour_etanchite'];
$niv_depart = $_POST['niv_depart'];
$sal_sol = $_POST['sal_sol'];
$but = $_POST['but'];
$choix_sortie = $_POST['choix_sortie'];
$origine_iragation = $_POST['origine_iragation'];
$sal_eau_entre = $_POST['sal_eau_entre'];
$condition_climatique = $_POST['condition_climatique'];
$annee = $_POST['annee'];
//$arrayMois = $_POST['Mois'];
$titre=$_POST['titre'];
$commentaire=$_POST['commentaire'];
//on enregistre d'abord dans la table scenario
$sql_1="INSERT INTO scenario (id_scenario,Id_user,titre,commentaire) VALUES('','".$_SESSION['Id_user']."','".$titre."','".$commentaire."')";
echo $sql_1; // ici je faisais echo pour voir quoi il m'affiche
$requete1 = $db->query($sql_1) ;
//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.'")';
$requete = $db->query($sql) ;//or die( mysql_error() );
}
?>
<?php
require_once('dbconnect.php');
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<p align="center" class="titre"><strong>- : : : Veuillez remplir ce tableau : : : -</strong></p>
<?php
//On verifie que le formulaire a été envoye
if(isset($_POST['enregistrer']))
{
// on récupère les valeurs qui ont poster
$cof_eau_du_sol = $_POST['cof_eau_du_sol'];
$niv_de_debordement = $_POST['niv_de_debordement'];
$taux_concentration = $_POST['taux_concentration'];
$pour_etanchite = $_POST['pour_etanchite'];
$niv_depart = $_POST['niv_depart'];
$sal_sol = $_POST['sal_sol'];
$but = $_POST['but'];
$choix_sortie = $_POST['choix_sortie'];
$origine_iragation = $_POST['origine_iragation'];
$sal_eau_entre = $_POST['sal_eau_entre'];
$condition_climatique = $_POST['condition_climatique'];
$annee = $_POST['annee'];
//$arrayMois = $_POST['Mois'];
$titre=$_POST['titre'];
$commentaire=$_POST['commentaire'];
//on enregistre d'abord dans la table scenario
$sql_1="INSERT INTO scenario (id_scenario,Id_user,titre,commentaire) VALUES('','".$_SESSION['Id_user']."','".$titre."','".$commentaire."')";
echo $sql_1; // ici je faisais echo pour voir quoi il m'affiche
$requete1 = $db->query($sql_1) ;
//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.'")';
$requete = $db->query($sql) ;//or die( mysql_error() );
}
?>