Facebook "J'aime" Help

Nouveau WRInaute
Bonjour à tous,

Je ne sais pas si je post au bon endroit, mais vous pouvez déplacer ce sujet si tel n'est pas le cas.

Voici mon problème, je réalise un site ayant plus ou moins le meme principe que VDM (Vie de m....) pour ceux qui connaissent, à savoir une liste de phrases proposées par les visiteurs du site.
Dans mon cas, ce sont des blagues répertoriées dans différentes catégories.

Ce que je veux faire, c'est ajouter un bouton "J'aime" en dessous de chacune de ces blagues et donc permette d'ajouter sur le profil facebook du visiteur la blague en question.

Malheureusement je ne sais pas du tout comment procéder, pour que les boutons j'aime soient créés dynamiquement a chaque post et que ces boutons relatent seulement le post en question...

Exemple sur ce site :

http://www.fbjaime.net/

Quand on clique sur j'aime pour une phrase, cette phrase s'affiche sur notre mur facebook ! C'est ce que je recherche...

Merci d'avance

Vincent
 
Nouveau WRInaute
Si j'ai regardé mais je ne comprend pas le principe, je vois juste des liens href normaux pas de liens j'aime facebook... Je vois pas comment il récupère le title...

Parce que là sur la page d'accueil tu as plusieurs post sur une seule page et malgré ca les liens "j'aime" en dessous de chaque post. Et dans le code source je ne vois pas les liens boutons j'aime habituels...

Tu peux peut-être me donner un exemple, je suis dans le flou là :(
 
WRInaute impliqué
Et une fois que tu auras généré le code à l'adresse donnée par spout, tu te retrouveras avec un code genre : <iframe src="https://www.facebook.com/widgets/like.php?href=http://www.fbjaime.net/jaime-85664/la-vie-n0us-reserve-de-sacrer-surprise" scrolling="No" frameborder="0" style="border:none; width:450px; height:30px;"></iframe>
À placer à côté de chacune des blagues de ton site.
 
Nouveau WRInaute
Si j'ai bien compris, je dois avoir autant de page web que de blagues ?

Pour pouvoir recuperer le titre de la page, qui sera en fait ma blague ?
 
Nouveau WRInaute
Désolé de vous déranger encore une fois, mais j'ai voulu le faire un autre système comme tu avais dit, parce que là j'étais obligé de creer une page par blague. Genre 01.html 02.html 03.html, ...

Je pensais faire comme tu disais, une page blagues.php qui recupere la liste des blagues et qui creer donc dynamiquement les liens j'aime comme ceci :

Code:
<iframe src="https://www.facebook.com/plugins/like.php?href=http://www.sysmic.be/blagues/index.php?page=blague_info&amp;id=<? echo $data['id']; ?>&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe>

Le $data['id'] est en fait l'id de la blague qui se trouve dans ma boucle while et qui change donc pour chaque blague.

Malheureusement, ca ne fonctionne pas, quand je clique sur un seul des J'aime de ma page blagues.php, toutes les autres blagues prennent le meme statut. Comme si c'était toutes les memes blagues, alors que mes url sont différentes, enfin je pense, sauf erreur de code, ça doit donner des url's comme :

https://www.facebook.com/plugins/like.php?href=http://www.sysmic.be/bla ... _info&id=1 (+parametres)

https://www.facebook.com/plugins/like.php?href=http://www.sysmic.be/bla ... _info&id=2 (+parametres)

https://www.facebook.com/plugins/like.php?href=http://www.sysmic.be/bla ... _info&id=3 (+parametres)

Quel est le probleme selon vous ? Je suis vraiment obligé de creer des pages html différentes pour chaque blague ?

Vous pouvez voir l'exemple concret ici :

http://www.sysmic.be/blagues/index.php?page=blagues

Page blagues.php :
Code:
<?php
// Connexion à la base de données
db_connect(); 
 
// Lancement de la requête
$sql = 'SELECT * FROM sentences ORDER BY id DESC LIMIT 0,10;';  
 
// Query  
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
 
// on compte le nombre de phrases stockées dans la base de données  
$nb_news = mysql_num_rows($req);  
 
if ($nb_news == 0) { 
   echo 'Aucune phrase enregistrée.';  
}  
else { 
   // si on a au moins une phrase, on l'affiche 
   while ($data = mysql_fetch_array($req)) { 
 
      // on décompose la date 
      sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec); 
 
      // on affiche les résultats
	  echo "<div>";
	  echo 'Posté le ' , $jour , '/' , $mois , '/' , $an ;
	  
		echo "<br />";
	  echo "par " . $data['name']; 
		echo "<br /><br />";
      echo nl2br($data['content']) , '<br /><br />';
	  
	  ?>
	  
	  <iframe src="https://www.facebook.com/plugins/like.php?href=http://www.sysmic.be/blagues/index.php?page=blague_info&amp;id=<? echo $data['id']; ?>&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe>
		</div>
		
		
	<br /><br /><br />
   <?php
   }  
}

// on libère l'espace mémoire alloué à cette requête  
mysql_free_result ($req);  
 
// on ferme la connexion à la base de données  
mysql_close ();  
?>

Page blague_info
Code:
<?php

if(isset($_GET['id']) && !empty($_GET['id']))
{
	// Connexion à la base   de données
	db_connect(); 
	 
	// Lancement de la requête
	$sql = "SELECT * FROM sentences WHERE id='" . $_GET['id'] . "'";  
	 
	// Query  
	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
	 
	// on compte le nombre de news stockées dans la base de données  
	$nb_news = mysql_num_rows($req);  
	 
	if($nb_news == 0)
	{ 
	   echo '<p>Aucune actualit&eacute; ne correspond &agrave; ces informations.</p>';  
	}  
	else
	{ 
	   	$sql_news = mysql_query("SELECT * FROM sentences WHERE id='" . $_GET['id'] . "'")
		or die("<p>Erreur lors de la recuperation des infos de la news.</p>");
		$news = mysql_fetch_array($sql_news);
		
		?>
		<html>

	<head>
	
		<title><? echo $news['content']; ?></title>
		
		<meta property="og:site_name" content="<? echo $news['content']; ?>"/> 
		
	</head>
	
	<body>
	 <?php
		  // on décompose la date 
		  sscanf($news['date'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec); 
	 
		  // on affiche les résultats
		  
		  echo 'Posté le ' , $jour , '/' , $mois , '/' , $an ;
		  echo "<br />";
			echo "par " . $news['name'];
		
		
		 echo "<br /><br />";
		  echo nl2br($news['content']) , '<br /><br /><br />'; 
		  
		  ?>
		  <iframe src="https://www.facebook.com/plugins/like.php?href=http://www.sysmic.be/blagues/index.php?page=blague_info&amp;id=<? echo $news['id']; ?>&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe>
		  
		  <?php
		 
	 } 
	// on libère l'espace mémoire alloué à cette requête  
	mysql_free_result ($news);  
	 
	// on ferme la connexion à la base de données  
	mysql_close ();
?>
</body>
</html>
<?php
}
else
{
	echo "<script language=\"javascript\">";
				
    echo "document.location.href=\"index.php?page=accueil\"";
					
	echo "</script>";
}

?>

Merci d'avance
 
Nouveau WRInaute
Je vois pas ce que tu en entend par "en dur" :p mais meme en mettant comme ceci ca ne fonctionne pas :(

Code:
<iframe src="https://www.facebook.com/plugins/like.php?href=http://www.sysmic.be/blagues/index.php?page=blague_info&amp;id=<? $data['id']; ?>&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe>
 
WRInaute impliqué
Attends, j'ai décidément beaucoup de mal, désolé.
Ajoute un mysql_data_seek($req); avant la ligne while ($data = mysql_fetch_array($req)) {
(à cause du mysql_num_rows, le résultat pourrait être différent)

Les URL appellent toutes l'id "8", c'est ça le problème non ?
 
Nouveau WRInaute
Non ca fonctionne bien pour le id, j'avais juste fait un test avec "8".

Mais si je regarde dans le source, mes id sont bien différents :

Code:
<div>Posté le 00/00/0000<br />par test2<br /><br />test2<br /><br />	  
	  <iframe src="https://www.facebook.com/plugins/like.php?href=http://www.sysmic.be/blagues/index.php?page=blague_info&amp;id=4&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe> 
		</div> 
		
		
	<br /><br /><br /> 
   <div>Posté le 00/00/0000<br />par test<br /><br />test1<br /><br />	  
	  <iframe src="https://www.facebook.com/plugins/like.php?href=http://www.sysmic.be/blagues/index.php?page=blague_info&amp;id=3&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe> 
		</div> 
		
		
	<br /><br /><br /> 
   <div>Posté le 03/09/2010<br />par Laurent<br /><br />Blague de Laurent<br /><br />	  
	  <iframe src="https://www.facebook.com/plugins/like.php?href=http://www.sysmic.be/blagues/index.php?page=blague_info&amp;id=2&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe> 
		</div> 
		
		
	<br /><br /><br /> 
   <div>Posté le 03/09/2010<br />par Vincent<br /><br />Blague de Vincent.<br /><br />	  
	  <iframe src="https://www.facebook.com/plugins/like.php?href=http://www.sysmic.be/blagues/index.php?page=blague_info&amp;id=1&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe> 
		</div>

Donc les url sont différentes et malgré ca, ca ne les différencie par pour le "J'aime"... :(

Je suis perdu
 
Nouveau WRInaute
Et comment tu procedes, je comprend pas le principe...

Ca m'enerve, parce que sur ce site-ci ca fonctionne :(

http://www.jaime.site50.net/?categ=&page=2

Mais les liens sont différents :

Code:
https://www.facebook.com/plugins/like.php?href=http://www.jaime.site50.net/default.php?id=4755

C'est ?id=4755

moi c'est une variable get

Code:
https://www.facebook.com/plugins/like.php?href=http://www.sysmic.be/blagues/index.php?page=blague_info&id=1


Je comprend pas le principe
 
WRInaute impliqué
Oui mais lui n'a qu'un paramètre qu'il déclare avec ?, elle est donc incluse dans le premier paramètre, tandis que ton & est considéré comme nouveau paramètre de la page like.php (je sais pas si je suis clair). J'ignore s'il existe un caractère d'échappement, pour l'url rewriting insère ceci dans un fichier .htaccess situé à la racine de ton site :

Code:
Options FollowSymLinks
RewriteEngine on
RewriteRule ^blague,([0-9]+).html$ /index.php?page=blague&id=$1 [NC,L]

Tu appelleras blague,<?php echo $data['id']; ?>.html dans le ?href= et ça devrait enfin fonctionner !
 
Nouveau WRInaute
J'ai fait ca :

Code:
 <iframe src="https://www.facebook.com/plugins/like.php?href=http://www.sysmic.be/blagues/<?php echo $data['id']; ?>.html" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe>

Mais depuis que j'ai mis le .htaccess j'ai un Internal server error :(
 
Nouveau WRInaute
Je crois juste que c'est un soucis dans le .htaccess, car c'est tout mon serveur qui plante, quand je l'enleve ca fonctionne :p
 
Discussions similaires
Haut