Bonjour,
sur mon site, j'affiche la liste des membres dans un tableau : Voir la liste des membres sur le site.
Dans l'avant dernière colonne du tableau intitulée "Demander comme ami", j'affiche une icone
- rouge si l'utilisateur n'est pas connecté au site (ce qui sera vôtre cas si vous aller le voir)
- bleue si l'utilisateur est connecté. On peut cliquer sur cette icône.
Voici le code de cette image :
- jaune ou verte dans d'autres cas plus complexes...
Lorsqu'on clique sur l'icône bleue, on lance la fonction xajax "demande_ami" qui met à jour la base de données (insertion d'une ligne dans la table 'amis') et qui envoie un mail au membre contacté.
A la fin de cette fonction, je souhaite
1 - afficher un message sous forme de pop-up :
- "Votre demande a bien été envoyée à + nom du destinataire. Un mail lui a été envoyé" si l'enregistrement et l'envoi du mail se sont bien déroulés
- "La demande n'a pas été prise en compte" si problème
2 - modifier la propriété src de l'icone :
. doit devenir
Pouvez-vous m'aider à résoudre ce problème ?
Cordialement.
Voici le code complet de la page :
sur mon site, j'affiche la liste des membres dans un tableau : Voir la liste des membres sur le site.
Dans l'avant dernière colonne du tableau intitulée "Demander comme ami", j'affiche une icone
- rouge si l'utilisateur n'est pas connecté au site (ce qui sera vôtre cas si vous aller le voir)
- bleue si l'utilisateur est connecté. On peut cliquer sur cette icône.
Voici le code de cette image :
$lien_ami= '<img src="'.$icone_ami.'" name="ami" value="Envoyer" onClick="xajax_demande_ami('.$id_from.','.$id.');">';
- jaune ou verte dans d'autres cas plus complexes...
Lorsqu'on clique sur l'icône bleue, on lance la fonction xajax "demande_ami" qui met à jour la base de données (insertion d'une ligne dans la table 'amis') et qui envoie un mail au membre contacté.
A la fin de cette fonction, je souhaite
1 - afficher un message sous forme de pop-up :
- "Votre demande a bien été envoyée à + nom du destinataire. Un mail lui a été envoyé" si l'enregistrement et l'envoi du mail se sont bien déroulés
- "La demande n'a pas été prise en compte" si problème
2 - modifier la propriété src de l'icone :
<img src="'.$icone_ami
. doit devenir
<img src="'.$icone_demande_ami.
Pouvez-vous m'aider à résoudre ce problème ?
Cordialement.
Voici le code complet de la page :
<?php
//
// La fonction PHP pour envoyer le message d'invitation :
//
function demande_ami($id_membre, $id_to)
{
$reponse = new xajaxResponse();// Création d'une instance de xajaxResponse pour traiter les réponses serveur.
// On enregistre la demande
$pdo = PDO2::getInstance();
$sql='INSERT INTO amis SET id_membre = '. $id_membre .', id_ami = '. $id_to ;
$requete = $pdo->prepare($sql);
if ($requete->execute())
{
// Envoi d'un e-mail d'information
include_once 'modeles/membres.php';
$infos_utilisateur = lire_infos_utilisateur($id_to);
$pseudo = $infos_utilisateur['nom_utilisateur'];
$email = $infos_utilisateur['adresse_email'];
// On prépare le message
$titre=$_SESSION['pseudo'].' souhaite devenir vôtre ami sur COFISHING';
$message='<html><head></head><body><article style="width:70%;border-radius:5px;
text-align:left;
box-shadow:0px 5px 5px 0px rgba(0, 0, 0, 0.25),0px 5px 5px 0px rgba(255, 255, 255, 0.25) inset;
font-size: 1em;
font-weight: normal;
padding: 10px 10px 10px 10px;
font-size: 16px;
border:2px solid red ;">
<div id="banniere" >
<img src="http://cofishing.net/images/galerie/banniere.jpg"
style="opacity: 1;border:1px white;margin-top:8px; margin-left:5px;border-radius:7px;" alt="banniere.jpg" />
</div><p style="color : white;
text-align:center;
font-size: 2em;
font-weight: bold;
border-radius:5px;
background-color:red;
margin-left=10%">'.$titre.'</p>
<p> Bonjour '.$pseudo.',</p>
<p>'.$titre.'.</p>
<p></p>
<p><a href="http://www.cofishing.net/index.php?module=amis&action=accepter&id_from='.$id_to.'&id_to='.$id_membre.' ">J\'accepte l\'invitation de '.$_SESSION['pseudo'].'</a></p>
<p>Cordialement</p>
<p>L\'équipe cofishing</p>
<p>A bientôt sur : <a href="http://www.cofishing.net/">COFISHING</a></p>
</article></body></html>';
mail($email, $titre, $message, MAIL_HEADER);
$reponse='Votre demande a bien été envoyée à'.$pseudo;
}
else
{
$reponse=$requete->errorInfo();
}
return $reponse;//On retourne le résultat.
}
//
// Ouverture de la librairie xajax, instanciation d'un objet de la classe xajax, puis déclaration de nos fonctions PHP.
//
require_once('./xajax_core/xajax.inc.php');
$xajax = new xajax(); //On initialise l'objet xajax.
$xajax->register(XAJAX_FUNCTION, 'demande_ami');// On enregistre la fonction.
$xajax->processRequest();// Fonction qui va se charger de générer le Javascript, à partir des données que l'on a fournies à xAjax APRÈS AVOIR DÉCLARÉ NOS FONCTIONS.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Liste des membres de COFISHING</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php $xajax->printJavascript(); /* Affiche le Javascript */?>
</head>
<body>
</body>
</html>
<?php
$fichier_traduction='langues/liste_des_membres_'.$_SESSION['langue'].'.php';
if (is_file($fichier_traduction))
{
include_once $fichier_traduction;
}
else
{
echo 'Page non traduite pour l\'instant';
}
include_once 'modeles/membres.php';
$sep='<br>';
$sql='SELECT membres.id,
membres.nom_utilisateur,
membres.avatar,
membres.date_inscription
FROM membres
WHERE actif=1';
$pdo = PDO2::getInstance();
$requete=$pdo->prepare($sql);
if (!$requete->execute())
{
echo $requete->errorInfo();
}
else
{
$requete->setFetchMode(PDO::FETCH_OBJ);
include 'modeles/infos_membres.php';
?>
<section class="grande_section">
<table>
<tr>
<th style="width:100px;"><?php echo _PSEUDO_;?></th>
<th style="width:100px;"><?php echo _AVATAR_;?></th>
<th style="width:60px;"><?php echo _DATE_INSCRIPTION_;?></th>
<th style="width:100px;"><?php echo _PAYS_;?></th>
<th style="min-width:100px;"><?php echo _POISSON;?></th>
<th style="min-width:100px;"><?php echo _MODE;?></th>
<th style="min-width:100px;"><?php echo _TYPE;?></th>
<th style="width:70px;"><?php echo _NOMBRE_PROPOSITIONS;?></th>
<th style="width:70px;"><?php echo _NOMBRE_DEMANDES;?></th>
<th style="width:70px;"><?php echo _NOMBRE_MESSAGES_ENVOYES;?></th>
<th style="width:70px;"><?php echo _NOMBRE_MESSAGES_RECUS;?></th>
<th style="width:80px;"> <?php echo _NOMBRE_COMMENTAIRES_POSITIFS;?></th>
<th style="width:80px;"><?php echo _DEMANDER_COMME_AMI;?></th>
<th style="width:60px;"><?php echo _CONTACTER;?></th>
</tr>
<?php
while( $ligne = $requete->fetch() )
{
$id=$ligne->id;
$pseudo=$ligne->nom_utilisateur;
$avatar=$ligne->avatar;
$date_inscription= date("d/m/y",strtotime($ligne->date_inscription));
$pays=pays($id, $sep) ;
$poisson=poisson($id, $sep);
$mode_de_peche=mode_de_peche($id, $sep);
$type_de_peche=type_de_peche($id, $sep);
$nb_propositions=nombre_propositions($id);
$nb_demandes=nombre_demandes($id);
$nb_messages_envoyes=nombre_messages_envoyes($id);
$nb_messages_reçus=nombre_messages_recus($id);
$nb_commentaires_positifs=nombre_commentaires ($id,1);
///////////////////////////////////////////////
// Vérification du statut : visiteur, connecté, abonné ?
///////////////////////////////////////////////
if (isset($_SESSION['id']))
{
$est_connecte=!empty($_SESSION['id']);
//$est_abonne=est_abonne($_SESSION['id']);
$est_abonne=true;
$id_from=$_SESSION['id'];
}
else
{
$est_connecte=false;
$est_abonne=false;
$est_administrateur=false;
$id_from=0;
}
if ($est_connecte)
{
$lien_message= '<a href="index.php?module=messages&action=envoi_message';
$lien_message= $lien_message.'&id_from='.$id_from;
$lien_message= $lien_message.'&id_to='.$id;
$lien_message= $lien_message.'&id_to_name='.$pseudo;
$lien_message= $lien_message.'"><img src="images/image/enveloppe_.png" alt="Message" /></a>';
$ami=est_ami_de ($_SESSION['id'], $id);
if ($ami )
{
$ami_confirme=est_ami_de ($id,$_SESSION['id'] );
if ($ami_confirme)
{
$icone_ami='images/image/_ami.png';
$lien_ami= '<img src="'.$icone_ami.'" name="ami">';
}
else
{
$icone_ami='images/image/_ami_attente_reponse.png';
$lien_ami= '<img src="'.$icone_ami.'" name="ami">';
}
}
else
{
$icone_ami='images/image/_ami_demande.png';
$lien_ami= '<img src="'.$icone_ami.'" name="ami" value="Envoyer" onClick="xajax_demande_ami('.$id_from.','.$id.');">';
}
}
else
{
$icone_ami='images/image/_ami_non.png';
$lien_message= '<a href="index.php?module=messages/vues&action=erreur_non_connecte';
$lien_message= $lien_message.'"><img src="images/image/enveloppe_non.png" alt="Message" /></a> ';
$lien_ami= '<img src="'.$icone_ami.'" name="ami">';
}
?>
<tr>
<td><?php echo $pseudo ;?></td>
<td><img class="avatar" src="images/avatar/<?php echo $avatar.'" alt="'.$pseudo ;?>"/></td>
<td><?php echo $date_inscription ;?></td>
<td><?php echo $pays ;?></td>
<td><?php echo $poisson ;?></td>
<td><?php echo $mode_de_peche ;?></td>
<td><?php echo $type_de_peche ;?></td>
<td><?php echo $nb_propositions ;?></td>
<td><?php echo $nb_demandes ;?></td>
<td><?php echo $nb_messages_envoyes ;?></td>
<td><?php echo $nb_messages_reçus ;?></td>
<td><?php echo $nb_commentaires_positifs ;?></td>
<td><?php echo $lien_ami ;?></td>
<td><?php echo $lien_message;?></td>
</tr><?php
}
$requete->closeCursor();
?>
</table>
</section>
<?php
}