Vous êtes ici Forums > Dépôt de sources > Historique des suppressions.

SUJET: Historique des suppressions.
  Le 02 Fév 2010 à 08:35:43
Salut à tous,

Comme nous sommes plusieurs à avoir accée à notre espace de gestion, il me faut impérativement savoir, qui à supprimer quoi et quand.

Via la page de gestion.php, de ma table 1 je selectionne et supprme l'id #1 avec delete.php?id=1 et en mème temps je voudrais récupérer le titre de l'id 1, et le stocker dans ma table " archive_supprime" tout fonctinne à merveille, mais malheuresement pour récupérer le titre.... je coinse.
Alors comment faire ?.

D'avance merci pour une aide. :P

Zoda57
zoda57
profil du membre
Messages: 60

Dernière réponse le
23-02-2010 à 08:49:29
par zoda57
 

  Le 02 Fév 2010 à 09:22:48
Tu as essayé une insertion à partir d'une sélection de la ligne de ton #id=1 dans la base archive (INSERT INTO archive VALUES SELECT * FROM ma_table, le * est à condition que les deux tables aient exactement la même structure) et si cette insertion s'est bien déroulée alors on supprime l'ID ?
bemale
site web du membre profil du membre
Messages: 95

 

  Le 02 Fév 2010 à 09:45:21
Salut bemale,

T'aurrai pas un exemple?.


Zoda57
zoda57
profil du membre
Messages: 60

 

  Le 02 Fév 2010 à 12:18:40
comment ca tu coinces ? avant de supprimer la champ, va re chercher le titre dans la table, fait 3 requetes :P

delete.php?id=1

SELECT titre FROM table1 WHERE id = 1;
INSERT INTO archive (titre,id_table1) VALUE (row['titre'],row['id']);
DELETE FROM table1 WHERE id = 1;
KOogar
Modérateur
site web du membre profil du membre
Messages: 315

 

  Le 02 Fév 2010 à 13:15:37
Voici le lien que jutilise pour faire la suppression dans ma partie admin et qui pointe vers pa page de suppression, a vrai dire... je sai pas ou placé le code?...désolé.


echo "<a href="supprimer.php?id=".$id."" onClick="if (confirm('Êtes-vous sûr de vouloir supprimer cet élément ?') == true) {return true} else {return false}"><img src='../../gestion/images/delete.png' alt='Supprimer cet évènements ?' border='0'></a></td>";

Merci

Zoda57
zoda57
profil du membre
Messages: 60

 

  Le 02 Fév 2010 à 13:54:11
file le bout de code de la page supprimer.php, celui ou tu fais ta requete sur la table archive, c'est la qu il faut refaire un SELECT
KOogar
Modérateur
site web du membre profil du membre
Messages: 315

 

  Le 02 Fév 2010 à 14:13:03
Resalut,

voici le code en entier,

Code:
<?php

/////////////////////////////////////////////////////// Variable a modifier  <br />
$basename="agenda";//Nom de la table.                  <br />
$rubrique="Agenda des évènement";//Nom de la rubrique<br />
$delai="4";//Redirection automatique après X secondes.<br />
$retour="admin.php";//Page de redirection.<br />
$date=date("d/m/Y");
$time=date("H:i:s");
$id_sup="$id";
$titre_sup="$titre";
$provenance=$_SERVER['HTTP_REFERER'];//Permet de déterminer la provenance de l'utilisateur<br />
$ip=$_SERVER["REMOTE_ADDR"];
$domain=gethostbyaddr($ip);
$navigateur=$_SERVER["HTTP_USER_AGENT"];
$mail=("webmaster@domaine.net");
//////////////////////////////////////////////////////<br />
// On place dans une variable l'id transmit dans l'url<br />
$id $_GET["id"];
$result mysql_query("DELETE FROM $basename WHERE id = $id");
//Si il y a une erreur, on le signale <br />
if (!$result
{
    die(
'Requête invalide : ' mysql_error());
}
else
 {
 
///////////////////////////////////////////////////////////////////////////////////ARCHIVES ET HISTORIQUES DES SUPPRESSIONS<br />
$reponse mysql_query ("SELECT * FROM gestion WHERE pseudo='$pseudo'"); //On recupère les infos à partir du pseudo<br />
$donnees mysql_fetch_array ($reponse);
$_SESSION['pseudo'] = $pseudo //On créé une variable session avec le pseudo<br />
$nom $donnees['nom'];
$prenom $donnees['prenom'];
$pseudo $donnees['pseudo'];
$query="INSERT IGNORE INTO archive_suppression (nom, prenom, pseudo, ip, date, time, basename, rubrique, provenance, id_sup, titre_sup, domain, navigateur) VALUES ('$nom', '$prenom', '$pseudo', '$ip','$date','$time','$basename','$rubrique','$provenance','$id_sup','$titre_sup','$domain','$navigateur')";
$result=mysql_query($query);
//on informe que le message est supprimé<br />
echo '<br />
<table width="60%" border="0" cellspacing="0" cellpadding="2"><br />
<tr><td align="center"><br />
<br><br><br />
<p class="warning">Par mesure de sécurité, nous envoyons un email au reponsable de la maintenance pour l'
informé de cette suppression.</p>
<
br><br>
</
td></tr>
<
tr>
<
td height=""align="center"valign="middle"><img src="../../gestion/images/002.gif"> L'évènement à été supprimé avec succès.<br><br><br />
Veuillez patienter.... vous données sont en cours de traitement....<br><br><img src="../../gestion/images/loading.gif" width="32" height="32" border="0"><br><br><br />
<span class="typo12">Vous aller ètre rediriger vers l'
acceuil de l' administration dans <b>'.$delai.'</b> secondes,<br> Si rien ne bouge, veuillez cliquer sur le lien ci-dessous.</span><br><br><a href='.$retour.'><b>Retour à l' administration.</b></a></td></tr></table>
';<br />
header('
Refresh'.$delai.'URL='.$retour.''); <br />
    ob_flush();<br />
}<br />
$send = mail($mail , "Suppression de données dans la page des ".$rubrique."" , "Nous vous envoyons cet email à la suite d'
une Suppression de données dans la page suivante".$rubrique." de la commune.nnl'ID ".$id." ( ".$titre." ) de la table ".$basename." à été supprimer.nnnVoici les données de l'utilisateur.nnnIdentifiant  ".$pseudo."nIp de connexion ".$ip."nHeure de connexion  Le ".$date." à ".$time."nFourniseur d'accèe  : ".$domain."nProvenance de l'utilisateur ".$provenance."nnnhttp://www.domaine.net/gestion/login.phpnnCeci est un message automatique, merci de ne pas y répondre.nnCordialement", "FROM: webmaster@domaine.net");<br />
if(($query)&&($send))

// Fermeture de la connexion à la base de données<br />
mysql_close();    
?>



Et merci

Zoda57
zoda57
profil du membre
Messages: 60

 

  Le 04 Fév 2010 à 12:35:07
Salut,

Questions bêtes mais questions quand même ^^.

Ton titre, c'est bien cette variable -> $titre_sup="$titre"; ?
Et la variable $id_sup="$id"; , elle est bien enregistré ou pas ??

Et pourquoi tu ne fais pas ton "DELETE" avant l'envoie du message plutôt qu'au début de ton code ?
c00lman
site web du membre profil du membre
Messages: 20

 

  Le 04 Fév 2010 à 13:03:08
Salut c00lman,

En réponse a ta question:

titre_sup est bien le titre que j'envoie dans la BD des archives, et le titre je le récupère avec ma variable $titre_sup="$titre"; de la base de l'agenda.

Je ne sais pas si une meilleur solution existe, je suis preneur de toute autre proposition.

a + et merci pour une aide

Zoda57

zoda57
profil du membre
Messages: 60

 

  Le 04 Fév 2010 à 16:41:23
Et ta variable $id_sup, elle est enregistrée ou pas dans ta table archive_suppression ??
c00lman
site web du membre profil du membre
Messages: 20

 

  Le 04 Fév 2010 à 18:19:51
Oui, excuse moi j'avais oublié de le préciser.

Toutes les variables ci-dessous sont enregistré dans la base des archives

Code:

<?php
$basename="agenda";//Nom de la table.                  <br />
$rubrique="Agenda des évènement";//Nom de la rubrique<br />
$delai="4";//Redirection automatique après X secondes.<br />
$retour="admin.php";//Page de redirection.<br />
$date=date("d/m/Y"); 
$time=date("H:i:s"); 
$id_sup="$id"
$titre_sup="$titre"
$provenance=$_SERVER['HTTP_REFERER'];//Permet de déterminer la provenance de l'utilisateur<br />
$ip=$_SERVER["REMOTE_ADDR"]; 
$domain=gethostbyaddr($ip); 
$navigateur=$_SERVER["HTTP_USER_AGENT"]; 

?>





@ + ET MERCI


Zoda57

zoda57
profil du membre
Messages: 60

 

  Le 04 Fév 2010 à 19:13:35
Hummm, ça me laisse comme un grand un vide :P ..
Si ta variable $id_sup est bien enregistré et que ta variable $titre_sup ne l'est pas, je suppose alors que soit ta variable $titre_sup est vide, soit elle contient des caractères spéciaux que mysql n'accepte pas ...

ça donne quoi un echo de $titre_sup ?

Sinon, ton code dans un ordre inversé :
Code:
<?php

/////////////////////////////////////////////////////// Variable a modifier  <br />
$basename="agenda";//Nom de la table.                  <br />
$rubrique="Agenda des évènement";//Nom de la rubrique<br />
$delai="4";//Redirection automatique après X secondes.<br />
$retour="admin.php";//Page de redirection.<br />
$date=date("d/m/Y");
$time=date("H:i:s");
$id_sup="$id";
$titre_sup="$titre";
$provenance=$_SERVER['HTTP_REFERER'];//Permet de déterminer la provenance de l'utilisateur<br />
$ip=$_SERVER["REMOTE_ADDR"];
$domain=gethostbyaddr($ip);
$navigateur=$_SERVER["HTTP_USER_AGENT"];
$mail=("webmaster@domaine.net");
//////////////////////////////////////////////////////<br />
// On place dans une variable l'id transmit dans l'url<br />
$id $_GET["id"];
 
///////////////////////////////////////////////////////////////////////////////////ARCHIVES ET HISTORIQUES DES SUPPRESSIONS<br />
$reponse mysql_query ("SELECT * FROM gestion WHERE pseudo='$pseudo'"); //On recupère les infos à partir du pseudo<br />
$donnees mysql_fetch_array ($reponse);
$_SESSION['pseudo'] = $pseudo //On créé une variable session avec le pseudo<br />
$nom $donnees['nom'];
$prenom $donnees['prenom'];
$pseudo $donnees['pseudo'];
$query="INSERT IGNORE INTO archive_suppression (nom, prenom, pseudo, ip, date, time, basename, rubrique, provenance, id_sup, titre_sup, domain, navigateur) VALUES ('$nom', '$prenom', '$pseudo', '$ip','$date','$time','$basename','$rubrique','$provenance','$id_sup','$titre_sup','$domain','$navigateur')";
$result=mysql_query($query);
$result mysql_query("DELETE FROM $basename WHERE id = $id");
//Si il y a une erreur, on le signale <br />
if (!$result
{
    die(
'Requête invalide : ' mysql_error());
}
else
 {
//on informe que le message est supprimé<br />
echo '<br />
<table width="60%" border="0" cellspacing="0" cellpadding="2"><br />
<tr><td align="center"><br />
<br><br><br />
<p class="warning">Par mesure de sécurité, nous envoyons un email au reponsable de la maintenance pour l'
informé de cette suppression.</p>
<
br><br>
</
td></tr>
<
tr>
<
td height=""align="center"valign="middle"><img src="../../gestion/images/002.gif"L'évènement à été supprimé avec succès.<br><br><br />
Veuillez patienter.... vous données sont en cours de traitement....<br><br><img src="../../gestion/images/loading.gif" width="32" height="32" border="0"><br><br><br />
<span class="typo12">Vous aller ètre rediriger vers l'
acceuil de l' administration dans <b>'.$delai.'</b> secondes,<br> Si rien ne bouge, veuillez cliquer sur le lien ci-dessous.</span><br><br><a href='.$retour.'><b>Retour à l' administration.</b></a></td></tr></table>
';<br />
header('
Refresh'.$delai.'URL='.$retour.''); <br />
    ob_flush();<br />
}<br />
$send = mail($mail , "Suppression de données dans la page des ".$rubrique."" , "Nous vous envoyons cet email à la suite d'
une Suppression de données dans la page suivante".$rubrique." de la commune.nnl'ID ".$id." ( ".$titre." ) de la table ".$basename." à été supprimer.nnnVoici les données de l'utilisateur.nnnIdentifiant  ".$pseudo."nIp de connexion ".$ip."nHeure de connexion  Le ".$date." à ".$time."nFourniseur d'accèe  : ".$domain."nProvenance de l'utilisateur ".$provenance."nnnhttp://www.domaine.net/gestion/login.phpnnCeci est un message automatique, merci de ne pas y répondre.nnCordialement", "FROM: webmaster@domaine.net");<br />
if(($query)&&($send))

// Fermeture de la connexion à la base de données<br />
mysql_close();    
?>


c00lman
site web du membre profil du membre
Messages: 20

 

  Le 05 Fév 2010 à 10:38:39
Salut c00lman,

Oui effectivement la variable $titre_sup reste vide, j'ai fais un test en envoyant ceuci $titre_sup="LE TITRE TEST"; dans la base et la... No soucy.
En ce qui concerne l'affichage avec <?php echo htmlentities($row['titre_sup']); ?> , la ça fonctionne très bien, je ne suis pas pro mais je pense qu'il y a un PB avec le transfert du titre de la page A vers la page B.

Alors si quelqu'un aurait la réponse.

Merci et a ++++++

Zoda57
zoda57
profil du membre
Messages: 60

 

  Le 05 Fév 2010 à 14:11:19
Salut zoda57

Je suis loin d'être un pro également wink

Il y a un truc qui m'échappe complètement ou alors il manque des infos ...

Tu dis que la variable $id_sup est bien enregistré mais pas la variable $titre_sup ... bon ok!

D'un autre côté, je vois dans ton code
Code:
$id_sup="$id";

et plus loin
Code:
$id = $_GET["id"];

Si je comprend bien ton truc, à la final ta variable $id_sup correspond à l'id transmit par l'url, soit $_GET["id"]; donc $id_sup="$id"; est égal à $id = $_GET["id"]; donc en résumé, ta variable $id_sup=$_GET["id"]; et c'est pour cette raison qu'elle est enregistré dans ta base ... tu me suis ??

Du coup, ta variable $titre , tu l'as sort d'où ? Je te pose cette question parce que si tu ne l'as sort pas de ta base de données ou que tu ne la transmet pas par l'url (méthode GET) ou par (POST)... c'est normal qu'elle soit vide !!
c00lman
site web du membre profil du membre
Messages: 20

 

  Le 05 Fév 2010 à 16:00:44
Resalut c00lman,

Regarde le bout de code que j'ai rajouter entre
//????????? et //????????????? bizarement avec ce dernier je recupaire bien le titre et l'id dans ma table des archives mais en doublons.... 2 enregistrement.
Explications:
La ligne 1 l'id et le titre, et la secondes ligne le reste.


Code:
<?php 

/////////////////////////////////////////////////////// Variable a modifier  <br />
$basename="agenda";//Nom de la table.                  <br />
$rubrique="Agenda des évènement";//Nom de la rubrique<br />
$delai="3";//Redirection automatique après X secondes.<br />
$retour="admin.php";//Page de redirection.<br />
$date=date("d/m/Y"); 
$time=date("H:i:s"); 
$id_sup="$id"
$titre_sup="$titre"
$provenance=$_SERVER['HTTP_REFERER'];//Permet de déterminer la provenance de l'utilisateur<br />
$ip=$_SERVER["REMOTE_ADDR"]; 
$domain=gethostbyaddr($ip); 
$navigateur=$_SERVER["HTTP_USER_AGENT"]; 
$mail=("webmaster@domaine.net"); 
//////////////////////////////////////////////////////<br />
// On place dans une variable l'id transmit dans l'url<br />
$id $_GET["id"];
$titre $_GET["titre"]; 
 
///////////////////////////////////////////////////////////////////////////////////ARCHIVES ET HISTORIQUES DES SUPPRESSIONS<br />
$reponse mysql_query ("SELECT * FROM gestion WHERE pseudo='$pseudo'"); //On recupère les infos à partir du pseudo<br />
$donnees mysql_fetch_array ($reponse); 
$_SESSION['pseudo'] = $pseudo //On créé une variable session avec le pseudo<br />
$nom $donnees['nom']; 
$prenom $donnees['prenom']; 
$pseudo $donnees['pseudo'];
//??????????????????????????????????????????????????<br />
$result mysql_query("INSERT INTO archive_suppression (id_sup,titre_sup)<br />
                                SELECT id,titre<br />
                                FROM $basename<br />
                                WHERE id = $id"
);
 

//??????????????????????????????????????????????????<br />
$query="INSERT IGNORE INTO archive_suppression (nom, prenom, pseudo, ip, date, time, basename, rubrique, provenance, id_sup, titre_sup, domain, navigateur) VALUES ('$nom', '$prenom', '$pseudo', '$ip','$date','$time','$basename','$rubrique','$provenance','$id_sup','$titre_sup','$domain','$navigateur')"
$result=mysql_query($query);
$result mysql_query("DELETE FROM $basename WHERE id = $id"); 
//Si il y a une erreur, on le signale <br />
if (!$result)  

    die(
'Requête invalide : ' mysql_error()); 

else 
 { 
//on informe que le message est supprimé<br />
echo '<br />
<table width="60%" border="0" cellspacing="0" cellpadding="2"><br />
<tr><td align="center"><br />
<br><br><br />
<p class="warning">Par mesure de sécurité, nous envoyons un email au reponsable de la maintenance pour l'
informé de cette suppression.</p>
<
br><br>
</
td></tr>
<
tr>
<
td height=""align="center"valign="middle"><img src="../../gestion/images/002.gif"L'évènement à été supprimé avec succès.<br><br><br />
Veuillez patienter.... vous données sont en cours de traitement....<br><br><br />
Vous aller ètre rediriger vers l'
acceuil de l' administration dans <b>'.$delai.'</b> secondes,<br> Si rien ne bouge, veuillez cliquer sur le lien ci-dessous.<br><br><a href='.$retour.'><b>Retour à l' administration.</b></a></td></tr></table>
'; <br />
header('
Refresh'.$delai.'URL='.$retour.'');  <br />
    ob_flush(); <br />
}<br />
$send = mail($mail , "Suppression de données dans la page des ".$rubrique."" , "Nous vous envoyons cet email à la suite d'
une Suppression de données dans la page suivante".$rubrique." de la commune.nnl'ID ".$id." ( ".$titre_sup." ) de la table ".$basename." à été supprimer.nnnVoici les données de l'utilisateur.nnnIdentifiant  ".$pseudo."nIp de connexion ".$ip."nHeure de connexion  Le ".$date." à ".$time."nFourniseur d'accèe  : ".$domain."nProvenance de l'utilisateur ".$provenance."nnnhttp://www.oltingue.net/gestion/login.phpnnCeci est un message automatique, merci de ne pas y répondre.nnCordialement", "FROM: webmaster@domaine.net"); <br />
if(($query)&&($send)) 
// Fermeture de la connexion à la base de données<br />
mysql_close();     
?>




à++++ et MERCI POUR TA PATIENCE :P

Zoda57
zoda57
profil du membre
Messages: 60

 

  Le 06 Fév 2010 à 11:22:20
Salut,
Aieee, j'ai mal au crâne confused et je finis par ne plus rien comprendre à ton problème !!
On va faire un teste tout con, tu vires les 2 lignes suivantes de ton code:
Code:
$id_sup="$id";
$titre_sup="$titre";

Tu vires également celles-ci:
Code:
// On place dans une variable l'id transmit dans l'url
$id = $_GET["id"];
$titre = $_GET["titre"];

Vire également ton rajout comprit entre //?? et //?? .
Ensuite tu places tout en haut de ton code juste après "<?php" les 2 lignes suivantes :
Code:
$id_sup = $_GET["id"];
$titre_sup = $_GET["titre"];


Si ton "id" et ton "titre" sont bien transmis par url, ça devrait fonctionner mad .
c00lman
site web du membre profil du membre
Messages: 20

 
1  |  2  |  Suivante
Librairie PHP

Connexion

 
 

Explications

 
 

Ressources

 
 
 
 

Flux RSS

 
 
 
 
      TWITTER !!
Suivez phpsources sur Twitter
 
annuaire phpsources référencer vos sites

Répertoire de sites francophones pour ajouter vos sites.
Référencer vos sites

 
Partenaire officiel
Partenaire officiel
 
  Statistiques...
Stats du réseau:
visiteurs en ligne : 19
basées sur les utilisateurs actifs des 5 dernières minutes
membres : 10048
 
Stats du site phpsources:
Dernière mise à jour des stats
aujourd'hui à 01:39:02

codes sources : 567
scripts : 790
articles - actualités : 101
tutoriel : 34
sites sur le langage PHP : 146
commentaires : 1 581
total des scripts téléchargés: 512 305
total hits codes sources: 4 718 590