[Resolu]Suppression des données après mail

Eléphanteau du PHP | 23 Messages

25 févr. 2011, 09:20

Bonjour a tous,

Grace l'aide des personnes d'ici, j'ai pu réaliser un script qui me permette de recuperer des infos sur trois tables de deux bases différentes.

J'ai donc un resultat, et j'ai meme rajouter un envoi de mail qui comprend le resultat (username et mdp).

Je voudrais pouvoir rajouter qu'après l'envoi de mail, les données envoyées soient effacé de la table oubli mais la je suis perdu car pour moi le code est déjà gros.

Je sais faire faire un delete mais je ne sais pas ou le placer.

Pouvez vous m'aider svp ?
<?php

//Connection Mysql
mysql_connect("mysql5-11.perso","********","***********")or die("Problème avec la base de données");
mysql_select_db("joomla")or die ("pas de connection");

$reponse = mysql_query("SELECT inscriptions.mdp,inscriptions.mail FROM inscriptions,oubli WHERE inscriptions.mail = oubli.mail
LIMIT 0 , 30"); // Requête SQL


mysql_connect("sql4.modules","1184102-1","*******")or die("Problème avec la base de données");
mysql_select_db("1184102-1")or die ("pas de connection");

$reponse1 = mysql_query("SELECT username,email as mail FROM jom15_users
WHERE email in ($where) LIMIT 0 , 30"); 

// On fait une boucle pour lister tout ce que contient la table :
//***********************************************************************************************************************
if ($reponse)
{
//*************************************************************************************************************************
while( $donnees = mysql_fetch_assoc($reponse ))
{
    $tableau[] = $donnees['mail'];
    $result[$donnees['mail']] = array( 'mdp' => $donnees['mdp'], 'mail' => $donnees['mail'], 'username' => "");
}
function quoteStr($str) {
        return "'".$str."'";
}

$where=implode(',',array_map(quoteStr,$tableau));
$reponse1 = mysql_query("SELECT username,email as mail FROM jom15_users
WHERE email in ($where) LIMIT 0 , 30"); // Requête SQL

// récupération de la seconde requête
while($resultat = mysql_fetch_array($reponse1))
  $result[$resultat['mail']]['username'] = $resultat['username'];
// boucle propre
foreach($result as $compte)
{
  //echo "username : {$compte['username']} | mdp : {$compte['mdp']} | email : {$compte['mail']}<br />";

?>

  <tr>

	<td><center><font face="tahoma" size="2"><?php echo "{$compte['username']}"; ?></font></center></td>
  
	<td><center><font face="tahoma" size="2"><?php echo "{$compte['mdp']}"; ?></font></center></td>
	
	<td><center><font face="tahoma" size="2"><?php echo "{$compte['mail']}"; ?></font></center></td>

  </tr>
<?php
//Envoi mail
     $headers ='From: "bidule.fr"<[email protected]>'."\n"; 
     $headers .='Reply-To: '."\n"; 
     $headers .='Cc: '."{$compte['mail']}"."\n"; 
     $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n"; 
     $headers .='Content-Transfer-Encoding: 8bit'; 
     $message = "login : " . "{$compte['username']}" . "----mdp :" . "{$compte['mdp']}";

     if(mail('************', 'Envoi login et mot de passe', $message, $headers)) 
     { 
          echo '<font face="tahoma" color="red">Merci. La demande a bien ete transmise<br><br></font>'; 
	   
     } 
     else 
     { 
          echo 'Le message n\'a pu être envoyé, veuillez recommencer'; 
     } 
?>
<?php

}



//mysql_close(); // Déconnexion de MySQL
//****************************************************************************************************
}
else
{
echo 'Pas de champs!!!';
}
//****************************************************************************************************
?>
Merci d'avance pour votre aide
Amicalement
Modifié en dernier par steph70 le 25 févr. 2011, 14:44, modifié 1 fois.

ViPHP
xTG
ViPHP | 7331 Messages

25 févr. 2011, 10:24

Beh juste avant ton echo de demande transmise. :D

Eléphanteau du PHP | 23 Messages

25 févr. 2011, 10:40

heuu oui en fait c'est logique. :wink:

Tout d'abord bonjour et merci pour ton aide.

J'ais fait comme tu m'as dit.
mysql_query("DELETE FROM oubli WHERE `mail`={$compte['mail']}") or die ("Désolé, non execution du vidage");

Mais l'execution ne se fait pas et j'ai le message du die. #-o

Ou ais je fauté ?

Merci encore pour ton aide

Amicalement

ViPHP
xTG
ViPHP | 7331 Messages

25 févr. 2011, 11:46

Ce n'est pas un entier, donc il faut que tu l'ensseres entre simple quote. :)

Eléphanteau du PHP | 23 Messages

25 févr. 2011, 12:03

Merci pour ton aide.

j'ai enserré avec des simples quotes mais résultat identique.
mysql_query("DELETE FROM oubli WHERE `mail`='{$compte['mail']}'") or die ("Désolé, non execution du vidage");

Amicalement

Eléphanteau du PHP | 23 Messages

25 févr. 2011, 12:43

J'ai fait un
echo "DELETE FROM oubli WHERE mail='".$compte['mail']."'";
Et la j'ai vu que ma variable .$compte['mail'] donnait bien le bon resultat mais pas mon 'mail'.

J'ai vérifier, et mail existe bien dans ma table oubli.

La par contre je ne comprend pas pourquoi ca ne me donne rien

Amicalement

Eléphanteau du PHP | 23 Messages

25 févr. 2011, 14:44

En fait, il suffisait de refaire une connexion a la base avant la suppression de la donnée et tout fonctionne

Merci à tous

Amicalement