11540 sujets

JavaScript, DOM et API Web HTML5

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 :
$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&amp;action=accepter&amp;id_from='.$id_to.'&amp;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&amp;action=envoi_message';
			$lien_message= $lien_message.'&amp;id_from='.$id_from;
			$lien_message= $lien_message.'&amp;id_to='.$id;
			$lien_message= $lien_message.'&amp;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&amp;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
}