Validation par admin
Fermé
ESPACEFLEXSERVICE
-
Modifié le 21 avril 2019 à 23:09
jordane45 Messages postés 38320 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 - 22 avril 2019 à 00:28
jordane45 Messages postés 38320 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 - 22 avril 2019 à 00:28
3 réponses
jordane45
Messages postés
38320
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 novembre 2024
4 707
21 avril 2019 à 23:12
21 avril 2019 à 23:12
Bonjour,
A l'avenir, merci de poster ton code correctement (là, j'ai édité ton message).
Il faut utiliser les balises de code.
Explications disponibles ici :
Ensuite, tu nous dis
Normal, vu que tu fais
A la limite, si tu souhaites conserver plusieurs valeurs, tu peux faire
Pour le reste... ben.. j'ai rien compris de ta question....
Sans compter qu'on ne sait pas à quoi doit te servir cette variable $_SESSION['identree'] ni comment tu comptes l'utiliser...
Bref, peux tu rédiger ta question de façon plus claire et précise ?
A l'avenir, merci de poster ton code correctement (là, j'ai édité ton message).
Il faut utiliser les balises de code.
Explications disponibles ici :
Ensuite, tu nous dis
j'ai essaye de conserve l'ID d'operation a une variable session mai a chaque repatition de boucle il ecrase l'ancien valeur
Normal, vu que tu fais
$_SESSION['identree']=$row_listedesentree['identree'];
A la limite, si tu souhaites conserver plusieurs valeurs, tu peux faire
$_SESSION['identree'][]=$row_listedesentree['identree'];
Pour le reste... ben.. j'ai rien compris de ta question....
Sans compter qu'on ne sait pas à quoi doit te servir cette variable $_SESSION['identree'] ni comment tu comptes l'utiliser...
Bref, peux tu rédiger ta question de façon plus claire et précise ?
<?php require_once('../../Connections/gestionstock.php'); ?> <?php //initialize the session if (!isset($_SESSION)) { session_start(); } // ** Logout the current user. ** $logoutAction = $_SERVER['PHP_SELF']."?doLogout=true"; if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){ $logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']); } if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){ //to fully log out a visitor we need to clear the session varialbles $_SESSION['MM_Username'] = NULL; $_SESSION['MM_UserGroup'] = NULL; $_SESSION['PrevUrl'] = NULL; unset($_SESSION['MM_Username']); unset($_SESSION['MM_UserGroup']); unset($_SESSION['PrevUrl']); $logoutGoTo = "../../index.php"; if ($logoutGoTo) { header("Location: $logoutGoTo"); exit; } } ?> <?php if (!isset($_SESSION)) { session_start(); } $MM_authorizedUsers = ""; $MM_donotCheckaccess = "true"; $identre=0; // *** Restrict Access To Page: Grant or deny access to this page function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { // For security, start by assuming the visitor is NOT authorized. $isValid = False; // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. // Therefore, we know that a user is NOT logged in if that Session variable is blank. if (!empty($UserName)) { // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. // Parse the strings into arrays. $arrUsers = Explode(",", $strUsers); $arrGroups = Explode(",", $strGroups); if (in_array($UserName, $arrUsers)) { $isValid = true; } // Or, you may restrict access to only certain users based on their username. if (in_array($UserGroup, $arrGroups)) { $isValid = true; } if (($strUsers == "") && true) { $isValid = true; } } return $isValid; } $MM_restrictGoTo = "../../page_de_redirection.php"; if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) { $MM_qsChar = "?"; $MM_referrer = $_SERVER['PHP_SELF']; if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&"; if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0) $MM_referrer .= "?" . $_SERVER['QUERY_STRING']; $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer); header("Location: ". $MM_restrictGoTo); exit; } ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { if (PHP_VERSION < 6) { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; } $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } mysql_select_db($database_gestionstock, $gestionstock); $query_nombredarticleenstock = "SELECT * FROM article WHERE quantite > 0"; $nombredarticleenstock = mysql_query($query_nombredarticleenstock, $gestionstock) or die(mysql_error()); $row_nombredarticleenstock = mysql_fetch_assoc($nombredarticleenstock); $totalRows_nombredarticleenstock = mysql_num_rows($nombredarticleenstock); mysql_select_db($database_gestionstock, $gestionstock); $query_articleaapprovisioner = "SELECT * FROM article WHERE quantite = 0"; $articleaapprovisioner = mysql_query($query_articleaapprovisioner, $gestionstock) or die(mysql_error()); $row_articleaapprovisioner = mysql_fetch_assoc($articleaapprovisioner); $totalRows_articleaapprovisioner = mysql_num_rows($articleaapprovisioner); mysql_select_db($database_gestionstock, $gestionstock); $query_articleenalerte = "SELECT * FROM article WHERE quantite between 1 AND seuilalert"; $articleenalerte = mysql_query($query_articleenalerte, $gestionstock) or die(mysql_error()); $row_articleenalerte = mysql_fetch_assoc($articleenalerte); $totalRows_articleenalerte = mysql_num_rows($articleenalerte); $maxRows_listedesentree = 5; $pageNum_listedesentree = 0; if (isset($_GET['pageNum_listedesentree'])) { $pageNum_listedesentree = $_GET['pageNum_listedesentree']; } $startRow_listedesentree = $pageNum_listedesentree * $maxRows_listedesentree; mysql_select_db($database_gestionstock, $gestionstock); $query_listedesentree = "SELECT * FROM entree2 ORDER BY `date` DESC"; $query_limit_listedesentree = sprintf("%s LIMIT %d, %d", $query_listedesentree, $startRow_listedesentree, $maxRows_listedesentree); $listedesentree = mysql_query($query_limit_listedesentree, $gestionstock) or die(mysql_error()); $row_listedesentree = mysql_fetch_assoc($listedesentree); if (isset($_GET['totalRows_listedesentree'])) { $totalRows_listedesentree = $_GET['totalRows_listedesentree']; } else { $all_listedesentree = mysql_query($query_listedesentree); $totalRows_listedesentree = mysql_num_rows($all_listedesentree); } $totalPages_listedesentree = ceil($totalRows_listedesentree/$maxRows_listedesentree)-1; $maxRows_listedessorties = 5; $pageNum_listedessorties = 0; if (isset($_GET['pageNum_listedessorties'])) { $pageNum_listedessorties = $_GET['pageNum_listedessorties']; } $startRow_listedessorties = $pageNum_listedessorties * $maxRows_listedessorties; mysql_select_db($database_gestionstock, $gestionstock); $query_listedessorties = "SELECT * FROM sortie2 ORDER BY `date` DESC"; $query_limit_listedessorties = sprintf("%s LIMIT %d, %d", $query_listedessorties, $startRow_listedessorties, $maxRows_listedessorties); $listedessorties = mysql_query($query_limit_listedessorties, $gestionstock) or die(mysql_error()); $row_listedessorties = mysql_fetch_assoc($listedessorties); if (isset($_GET['totalRows_listedessorties'])) { $totalRows_listedessorties = $_GET['totalRows_listedessorties']; } else { $all_listedessorties = mysql_query($query_listedessorties); $totalRows_listedessorties = mysql_num_rows($all_listedessorties); } $totalPages_listedessorties = ceil($totalRows_listedessorties/$maxRows_listedessorties)-1; mysql_select_db($database_gestionstock, $gestionstock); $query_valeurglobal = "select sum(quantite*prixhtva) from article"; $valeurglobal = mysql_query($query_valeurglobal, $gestionstock) or die(mysql_error()); $row_valeurglobal = mysql_fetch_assoc($valeurglobal); $totalRows_valeurglobal = mysql_num_rows($valeurglobal); mysql_select_db($database_gestionstock, $gestionstock); $query_teststock = "SELECT * FROM article WHERE quantite between 1 and seuilalert"; $teststock = mysql_query($query_teststock, $gestionstock) or die(mysql_error()); $row_teststock = mysql_fetch_assoc($teststock); $totalRows_teststock = mysql_num_rows($teststock); mysql_select_db($database_gestionstock, $gestionstock); $query_nombreenalert = "SELECT count(reference) FROM article WHERE quantite between 1 AND seuilalert"; $nombreenalert = mysql_query($query_nombreenalert, $gestionstock) or die(mysql_error()); $row_nombreenalert = mysql_fetch_assoc($nombreenalert); $totalRows_nombreenalert = mysql_num_rows($nombreenalert); mysql_select_db($database_gestionstock, $gestionstock); $query_testecheance = "SELECT * FROM reglementfacture WHERE datediff(echeance,now())<7 AND etat != 'Payée' "; $testecheance = mysql_query($query_testecheance, $gestionstock) or die(mysql_error()); $row_testecheance = mysql_fetch_assoc($testecheance); $totalRows_testecheance = mysql_num_rows($testecheance); mysql_select_db($database_gestionstock, $gestionstock); $query_listeecheance = "SELECT count(distinct numerofacture) FROM reglementfacture WHERE datediff(echeance,now())<7 AND etat != 'Payée' "; $listeecheance = mysql_query($query_listeecheance, $gestionstock) or die(mysql_error()); $row_listeecheance = mysql_fetch_assoc($listeecheance); $totalRows_listeecheance = mysql_num_rows($listeecheance); $colname_user = "-1"; if (isset($_SESSION['MM_Username'])) { $colname_user = $_SESSION['MM_Username']; } mysql_select_db($database_gestionstock, $gestionstock); $query_user = sprintf("SELECT * FROM `user` WHERE login = %s", GetSQLValueString($colname_user, "text")); $user = mysql_query($query_user, $gestionstock) or die(mysql_error()); $row_user = mysql_fetch_assoc($user); $totalRows_user = mysql_num_rows($user); if ((isset($_POST["va"])=="entree")){ echo $row_listedesentree['usernme']; } ?> <!doctype html> <html> <head> <meta charset="utf-8" /> <title>Stock</title> <link href="../../stylesheets/reset.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="../../scripts/browser-compatibility.js"></script> <script src="../../SpryAssets/SpryMenuBar.js" type="text/javascript"></script> <link href="../../stylesheets/layout-css-1.css" rel="stylesheet" type="text/css" /> <link href="../../SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css"> <link href="../../stylesheets/stylevuestock.css" rel="stylesheet" type="text/css"> <link href="../../css/footable-0.1.css" rel="stylesheet" type="text/css" /> <link href="../../stylesheets/styleliste.css" rel="stylesheet" type="text/css"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script> <script src="../../js/footable-0.1.js" type="text/javascript"></script> <script type="text/javascript"> $(function() { $('table').footable(); }); </script> <link href="../../SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css"> <link rel="icon" type="image/png" href="../../favicon.png" /><?php // Récupère l'heure date_default_timezone_set("Africa/Tunis"); $localtime = localtime(); $seconde = $localtime[0]; $minute = $localtime[1]; $heure = $localtime[2]; ?> <SCRIPT> bcle=0; function clock() { if (bcle == 0) { heure = <?php echo $heure ?>; min = <?php echo $minute ?>; sec = <?php echo $seconde ?>; } else { sec ++; if (sec == 60) { sec=0; min++; if (min == 60) { min=0; heure++; }; }; }; txt=""; if(heure < 10) { txt += "0"; } txt += heure+ ":"; if(min < 10) { txt += "0" } txt += min + ":"; if(sec < 10) { txt += "0" } txt += sec ; timer = setTimeout("clock()",1000); bcle ++; document.clock.date.value = txt ; } </SCRIPT> </head> <body onLoad="clock()"> <div class="main_wrapper cf"> <div class="header_wrapper cf"> <div id="parametres"> <a href="../parametres/parametres.php"><img src="../../images/parametres.png" title="Paramètres"/></a> </div> <div id="deconnection"> <ul id="MenuBar2" class="MenuBarHorizontal"> <li><a class="MenuBarItemSubmenu"> <?php //Afficher région si... if ($_SESSION ['MM_UserGroup'] == 'admin') { ?> <img src="../../images/useradmin.png"/> <?php } ?> <?php //Afficher région si... if ($_SESSION ['MM_UserGroup'] == 'compta') { ?> <img src="../../images/usercompta.png"/> <?php } ?> <?php //Afficher région si... if ($_SESSION ['MM_UserGroup'] == 'simple') { ?> <img src="../../images/user.png"/> <?php } ?> <?php echo $row_user['prenom']; ?> <?php echo $row_user['nom']; ?> </a> <ul> <li><a href="../gestionutilisateur/compte.php"><img src="../../images/adduser.png"/> Compte</a></li> <li><a href="<?php echo $logoutAction ?>"><img src="../../images/deco.png"/> Déconnexion</a></li> </ul> </li> </ul> </div> <div id="acceuil"> <img src="../../images/home.png"/> <a href="../../acceuil.php">Accueil</a> </div> <div id="heureetdate"> <form name="clock" onSubmit="0" id="clock"> <img src="../../images/clock.png"/> <?php $date = date("d/m/Y"); Print("$date"); ?> <br> <strong> <input type="text" name="date" size="5" readonly class="style"> </strong> </form> </div> <div class="logo_wrapper"><a href="../../acceuil.php"><img src="../../images/logo.png" height="50"/></a></div> </div> <div class="content_wrapper cf"> <div id="menu"> <ul id="MenuBar1" class="MenuBarVertical"> <li><a href="../gestionarticle/liste_article.php"><img src="../../images/article.png"/> Articles</a> </li> <li><a class="boutonblansub" href="../gestionstock/vue_globale.php"><img src="../../images/stock.png"/> Stock <?php if ($totalRows_teststock > 0) { // Show if recordset not empty ?> <span id="notif"> <?php echo $row_nombreenalert['count(reference)']; ?> </span> <?php } // Show if recordset not empty ?> </a> <ul> <li><a href="entree_stock.php"><img src="../../images/menuentree.png"/> Entrées</a></li> <li><a href="sortie_stock.php"><img src="../../images/menuesortie.png"/> Sorties</a></li> </ul> </li> <li><a href="../gestionfournisseur/liste_fournisseur.php"><img src="../../images/fournisseur.png"/> Fournisseurs</a> </li> <li><a href="../gestionclient/liste_client.php"> <img src="../../images/client.png"/> Clients</a> </li> <li><a class="MenuBarItemSubmenu" href="../gestionachat/commande.php"><img src="../../images/achat.png"/> Achats</a> <ul> <li><a href="../gestionachat/commande.php"><img src="../../images/menucommande.png"/> Commandes</a></li> <li><a href="../gestionachat/depense.php"><img src="../../images/depense.png"/> Dépenses</a></li> </ul> </li> <li><a href="../gestiondocuments/document.php"><img src="../../images/document.png"/> Documents</a></li> <li> <?php //Afficher région si... if ($_SESSION ['MM_UserGroup'] != 'simple') { ?> <li><a class="MenuBarItemSubmenu" href="../gestionvente/ventes.php"><img src="../../images/vente.png"/> Ventes <?php if ($totalRows_testecheance > 0) { // Show if recordset not empty ?> <span id="notif"><?php echo $row_listeecheance['count(distinct numerofacture)']; ?></span> <?php } // Show if recordset not empty ?> </a> <ul> <li><a href="../gestionvente/ventes.php"><img src="../../images/menuvente.png"/> Ventes</a></li> <li><a href="../gestionvente/devis.php"><img src="../../images/devis.png"/> Devis</a></li> <li><a href="../gestionvente/Tarifs.php"><img src="../../images/tarifs.png"/> Tarifs</a></li> <li><a href="../gestionvente/reglement_facture.php"><img src="../../images/facture.png"/> Factures <?php if ($totalRows_testecheance > 0) { // Show if recordset not empty ?> <span id="notif"><?php echo $row_listeecheance['count(distinct numerofacture)']; ?></span> <?php } // Show if recordset not empty ?> </a></li> </ul> </li> <li><a href="../gestiontaxes/declaration_revenus.php"><img src="../../images/revenu.png"/> Taxes</a></li> <a href="../expertcompta/expertcompta.php"><img src="../../images/compta.png"/>Comptabilité</a> <?php } ?> </li> </ul> </div> <div id="tableau"> <div id="tableaumouvementstock"> <table class="footable"> <div id="titre"> Derniers mouvements du stock </div> <thead> <tr> <th> Réf.</th> <th> Désignation </th> <th> Quantité </th> <th> Mouvement </th> <th> Date </th> <th> User </th> <th> Action </th> </tr> </thead> <tbody> <?php do { //session_start(); ?> <?php if ($totalRows_listedesentree > 0) { // Show if recordset not empty ?> <td><?php echo $row_listedesentree['Reference']; ?> </td> <td><a href="../gestionarticle/detailsarticle.php?reference=<?php echo $row_listedesentree['Reference']; ?>&numerofournisseur=<?php echo $row_listedesentree['numerofournisseur']; ?>"><strong><img src="../../images/magnifier.png" alt="bt_details" title="Details"/><?php echo $row_listedesentree['designation']; ?></strong></a></td> <strong> <td id="champentré">+ <?php echo $row_listedesentree['quantite']; ?></td> </strong> <strong> <td id="champentré"><img src="../../images/entree.png" alt="bt_entree"/> <?php echo $row_listedesentree['mouvement']; ?></td> </strong> <td><?php echo $row_listedesentree['date']; ?> </td> <td><?php echo $row_listedesentree['usernme']; echo $row_listedesentree['identree']; ?> </td> <td><a href="g.php" name="V1" class="boutonentree" > valide </a></td> <td><a href="g.php" name="NV1" class="boutonsortie" > Non valide </a></td> <?php $_SESSION['identree']=$row_listedesentree['identree']; ?> </tbody> <?php } // Show if recordset not empty ?> <?php } while ($row_listedesentree = mysql_fetch_assoc($listedesentree)); ?> <?php do { ?> <?php if ($totalRows_listedessorties > 0) { // Show if recordset not empty ?> <tr> <td><a href="../gestionarticle/detailsarticle.php?reference=<?php echo $row_listedessorties['Reference']; ?>&numerofournisseur=<?php echo $row_listedessorties['numerofournisseur']; ?>"><strong><img src="../../images/magnifier.png" alt="bt_details" title="Details"/><?php echo $row_listedessorties['designation']; ?></strong></a></td> <strong> <td id="champsortie">- <?php echo $row_listedessorties['quantite']; ?></td> </strong> <strong> <td id="champsortie"><img src="../../images/sortie.png" alt="bt_sortie"/> <?php echo $row_listedessorties['mouvement']; ?></td> </strong> <td><?php echo $row_listedessorties['date']; echo $totalRows_user['reference'] ; ?></td> <td><a Name="VS1" class="boutonentree">Valider</a> </td> </td><td> <a Name="NVS1" class="boutonsortie">Nn Valider </a></td> </tr> <?php } // Show if recordset not empty ?> <?php } while ($row_listedessorties = mysql_fetch_assoc($listedessorties)); ?> </table> <div id="blocboutondebas"> <?php if ($totalRows_listedesentree > 0) { // Show if recordset not empty ?> <a href="entree_stock.php" class="boutonentree">Valider </a> <?php } // Show if recordset not empty ?> <?php if ($totalRows_listedessorties > 0) { // Show if recordset not empty ?> <a href="sortie_stock.php" class="boutonsortie">Non Valider </a> <?php } // Show if recordset not empty ?> </div> </div> </div> </div> </div> <script type="text/javascript"> var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgRight:"SpryAssets/SpryMenuBarRightHover.gif"}); var MenuBar2 = new Spry.Widget.MenuBar("MenuBar2", {imgDown:"SpryAssets/SpryMenuBarDownHover.gif", imgRight:"SpryAssets/SpryMenuBarRightHover.gif"}); </script> </body> </html> <?php mysql_free_result($nombredarticleenstock); mysql_free_result($articleaapprovisioner); mysql_free_result($articleenalerte); mysql_free_result($listedesentree); mysql_free_result($listedessorties); mysql_free_result($valeurglobal); mysql_free_result($teststock); mysql_free_result($nombreenalert); mysql_free_result($testecheance); mysql_free_result($listeecheance); mysql_free_result($user); ?>
EDIT : Correction des balises de code pour avoir la coloration syntaxique (jordane)
merci pour ta réponse mais pour ma question j'ai deux utilisateur simple et admin
et deux table "Entre2" tempo et finale "article" je veux que l'utilisateur simple insert dans la table entre2 tempo et l'admin valide l'insertion en le insérant la table finale
le problème est que je voulais savoir l'admin a valide quel opération et rejeté quel opération ?
j'ai fait un essai avec la variable session pour teste sur l"ID de l'operation mais ca ne marche pas
Merci encore
et deux table "Entre2" tempo et finale "article" je veux que l'utilisateur simple insert dans la table entre2 tempo et l'admin valide l'insertion en le insérant la table finale
le problème est que je voulais savoir l'admin a valide quel opération et rejeté quel opération ?
j'ai fait un essai avec la variable session pour teste sur l"ID de l'operation mais ca ne marche pas
Merci encore
jordane45
Messages postés
38320
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 novembre 2024
4 707
22 avril 2019 à 00:28
22 avril 2019 à 00:28
Déjà.. tu utilises l'extension mysql_* ... elle est Obsolète ...
Désormais il faut utiliser mysqli ou PDO.
Ensuite, tu nous dis
Et tu le sais comment ?
Tu as prévu un champ dans ta table "Entre2" tempo pour y mettre l'information ?
Ou une troisième table qui servirait à faire ce suivi ?
Et pourquoi avoir deux tables ?? Une seule suffirait... il faut simplement prévoir un champ qui te servirait à indiqué le "statut" avec, par exemple, les valeurs possibles : "A valider", "Validé" , "Refusé"
Et un autre champ (de type datetime) qui te permettrait de savoir à quelle date/heure l'action a été réalisée
Et même un autre champ (de type INT ) qui pointerait sur l'id de l'admin qui a réalisé l'action...
Bref, ton code mérite un coup de jeune ( passage à pdo ou mysqli) et à un peu de refactoring / conception...
Je pense que tu t'es lancé dans le code sans avoir étable au préalable un cahier des spécificités fonctionnelles ni même un cahier des charges détaillé.....
Désormais il faut utiliser mysqli ou PDO.
Ensuite, tu nous dis
le problème est que je voulais savoir l'admin a valide quel opération et rejeté quel opération ?
Et tu le sais comment ?
Tu as prévu un champ dans ta table "Entre2" tempo pour y mettre l'information ?
Ou une troisième table qui servirait à faire ce suivi ?
Et pourquoi avoir deux tables ?? Une seule suffirait... il faut simplement prévoir un champ qui te servirait à indiqué le "statut" avec, par exemple, les valeurs possibles : "A valider", "Validé" , "Refusé"
Et un autre champ (de type datetime) qui te permettrait de savoir à quelle date/heure l'action a été réalisée
Et même un autre champ (de type INT ) qui pointerait sur l'id de l'admin qui a réalisé l'action...
Bref, ton code mérite un coup de jeune ( passage à pdo ou mysqli) et à un peu de refactoring / conception...
Je pense que tu t'es lancé dans le code sans avoir étable au préalable un cahier des spécificités fonctionnelles ni même un cahier des charges détaillé.....