Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/10/2011, 10h45   #1
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Par défaut permettre l'envoi d'un mail à l'auteur d'une annonce, sans afficher son adresse

Bonjour,

dans un site, j'ai mis une saisie d'"annonces" avec la possibilité d'envoyer un mail à l'auteur sans afficher son adresse mail. Pour faire ça, l'adresse est stockée dans MySQL et j'utilise la fonction PHP mail, mais le problème, c'est que même s'il y a N annonces, seule la première où l'on demande l'envoi du mail est affichée. Il doit donc y avoir un bug dans le code d'affichage des annonces (si je commente la partie "envoi d'un mail", ça marche bien) :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$sql="select * from `annonce` where cat='avis_rech' AND langue='fr' AND(immediat='1' OR validee='1') order by id_annonce desc";
//echo "sql=".$sql."<br>";
$sql = stripslashes($sql);
$result = mysqli_query($id_conni, $sql) or die(mysqli_error());
while ($ligne = mysqli_fetch_array($result,MYSQL_NUM)) {
	...
//affichage du mail	
if (isset($ligne[20])) { echo "<td>";
if ($ligne[20]) {
//on l'affiche
    $pseudo_mail=$ligne[4];
	$sql="select mail from `login` where pseudo='".$pseudo_mail."'"; /*on va chercher le mail de l'auteur ds une autre table*/
	$sql = stripslashes($sql);
//	echo "sql=".$sql."<br>";
	$ligne=mysqli_fetch_array($result,MYSQL_NUM);
	$destinataire=$ligne[0];
 
	echo '<a href="http://---/fr/mailannonce/index.php?dest='.$destinataire.'">Ecrire à l\'auteur</a>';
}
echo "</td>";   
       } }
 echo ('</tr></table>');
Petite précision : si je saisie N annonces sans affichage du mail, elles sont toutes affichées, par contre si j'en saisie une avec affichage du mail, toutes celles saisies avant ne sont pas affichées .
__________________
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 13/10/2011, 20h44   #2
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Eurêka
2 mysqli_query imbriquées avec la même variable de retour $result et la même variable pour l'affichage ($ligne), ça ne risquait pas de marcher...J'ai eu la révélation au début du dîner et n'ai eu de cesse de vérifier...
__________________
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h58.


 
 
 
 
Partenaires

Hébergement Web