Recuperation d'un resultat par un autre site ? [Résolu]

Signaler
Messages postés
125
Date d'inscription
lundi 15 août 2005
Statut
Membre
Dernière intervention
9 octobre 2007
-
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
-
Bonjour à tous, c'est encore moi !

J'aimerais proposer un service sur mon site, qui consisterais à afficher une citation aleatoirement sur un autre site, au niveau du code PHP/MySQL pour choisir une citation il n'y a pas de probleme je devrais y arriver, par contre comment creer un lien vers ce resultat et l'inserer sur n'importe quelle page web pour qu'il s'affiche, je pense à du Javascript mais si vous pouviez m'aiguiller.....

si quelqu'un a une idée.....? merci ;)

"La vie, c'est pour la vie..."
http://proverbe.intoxmatique.com

24 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Salut,

.... faut que ton fichier newsletter.php renvoi un fichier javascript et non une image...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Salut,

<?php
echo 'document.write("$tout_mon_code")';
?>"

euh no... là, t'as parse error....

<?php
echo 'document.write("'.str_replace('"','\"',$tout_mon_code).'")';
?>
In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
<?php
$code='<li>test affichage</li><li>test 2</li>';

echo 'document.write("',str_replace('"','\"',$code,'"))';
?>

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,

effectivement c'est le cas le plus simple, surtout si le site en question est un site html, l'avantage du javascript est qu'il conviendra pour tous les sites, l'inconvénient est que ça rajoute du code inutilement qui peut en plus être désactivé, alors qu'un site en PHP pourra avoir sa propre solution de parsing.

Bref tu peux proposer les deux solutions.

Une en javascript, les gens inséreront par exemple :

<script type="text/javascript" src="http://www.tonsite.com/citation.php"></script>

dans ton fichier citation.php tu fais des document.write (que tu affiches via un echo) pour permettre au javascript d'afficher ta citation.

exemple :

<?php
echo 'document.write("test")';
?>

et quand les gens mettront le js sur leur site, ça leur affichera "test"

ensuite tu fais une deuxième version pour les sites dynamiques, dans ce cas tu renvoies par exemple "test" sans rien autour, le site en question sera chargé du parsing.

a +

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Salut,

faut aussi faire attention aux types de fichiers produits, et aux charset...



header('Content-type: text/javascript; charset=UTF-8');



et encode tout avec utf8_encode() ça te permet de ne pas avoir de problèmes

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Salut,

faut aussi faire attention aux types de fichiers produits, et aux charset...



header('Content-type: text/javascript; charset=UTF-8');



et encode tout avec utf8_encode() ça te permet de ne pas avoir de problèmes

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
510
Date d'inscription
samedi 29 décembre 2001
Statut
Membre
Dernière intervention
23 mai 2008

Y'a pas des problèmes au niveau des accents avec l'utf-8 ? Mon site est encodé la dessous (y'a du Russe) mais les pages francaises je les ai laissé en iso car les accents passaient pas


----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Salut,
utf8_encode($data);

t'affichera ça corectement...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
125
Date d'inscription
lundi 15 août 2005
Statut
Membre
Dernière intervention
9 octobre 2007

En fait j'ai essayer mais ca ne marche pas...

J'ai donc créé une page php contenant mon 'module' de citation aleatoire
http://copieurs.jexiste.fr/intoxitation/newsletter.php

sur ma page d'accueil je l'affiche simplement avec un <?php include('newsletter.php'); ?>
http://proverbe.intoxmatique.com
,jusque là pas de probleme ! (enfin si : quand je rafraichie, toute la page se rafraichie, j'aurais aimé qu'il n'y ai que le bloc 'citation aleatoire' alors j'ai penser au iframe mais le probleme c'est qu'il faut definir la taille alors que mon bloc à une taille variable selon la citation afficher !!!, enfin bref ca c'est un autre probleme.)

j'imagine que le :
<script type="text/javascript" src=http://copieurs.jexiste.fr/intoxitation/newsletter.php></script>
ne fonctionne pas puisque ma page est en php ?

y'aurais t'il un autre code pour afficher les pages php ?

je poste mon code au cas où ( page : newsletter.php ) :

<?php
include('connect.php');
/////////////////////////////////
// affichage aléatoire de citation ////
//////////////////////////////////
$req = mysql_query("select proverbe,auteur from Proverbe order by rand() limit 1");
$champ_citation = mysql_result($req,0,"proverbe");
$champ_auteur = mysql_result($req,0,"auteur");


echo "<table width='200' border='0' cellpadding='5' cellspacing='0'>
----, &nbsp;&nbsp;&nbsp;CITATION&nbsp;:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>

\"";
echo $champ_citation;
echo "\", \";
echo \"<td align='center' background='images/fond_bleu_newsletter.jpg' style='font-color:#000000;font-size:8pt;font-weight:bold;font-style:italic;font-family:Arial;'>\";
echo \"Auteur : (\",$champ_auteur,\")\";
echo "
</td></tr></table>";
mysql_close();
?>

merci à tous.
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
"<script type= "text/javascript" src=http://copieurs.jexiste.fr/intoxitation/newsletter.php></script>
ne fonctionne pas puisque ma page est en php ?"

c'est <script type="text/javascript" src= " http://copieurs.jexiste.fr/intoxitation/newsletter.php"></script>

et si ça fonctionnera.
<hr size ="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
125
Date d'inscription
lundi 15 août 2005
Statut
Membre
Dernière intervention
9 octobre 2007

désolé, j'ai tout casser le design avec mon post !!!
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Pas grave, les admins de CS sont au courant depuis belle lurette concernant ça :)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
125
Date d'inscription
lundi 15 août 2005
Statut
Membre
Dernière intervention
9 octobre 2007

Bein ecoute je voudrais pas insister mais j'ai ecris :

<script type="text/javascript" src="http://copieurs.jexiste.fr/intoxitation/newsletter.php"></script>

et promis ca ne marche pas, il n'y a rien qui s'affiche.
par contre le lien est bon puisque tu verras le resultat en copiant/collant dans le navigateur. ?
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Ah oui en effet...

Qu'est-ce qu'on disait plus haut ?

"exemple :

<?php
echo 'document.write("test")';
?>"

en ce qui me concerne... on a jamais parlé d'image...
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
125
Date d'inscription
lundi 15 août 2005
Statut
Membre
Dernière intervention
9 octobre 2007

a d'accord, il faut que je trouve un moyen d'inclure tout mon code dans
<?php
echo 'document.write("$tout_mon_code")';
?>"

ca va etre chaud ça ! bon je reflechi à tout ca et je vous tiens au courant.
je validerais la reponse quand j'aurais tout compris ;)
Messages postés
510
Date d'inscription
samedi 29 décembre 2001
Statut
Membre
Dernière intervention
23 mai 2008

Un petit conseil en passant :

après avoir regardé le code de http://copieurs.jexiste.fr/intoxitation/newsletter.php,
évite de mettre des balises <html> et autres types <head> dans le fichier qui sera en inclusion,
car la page qui va appeler ce fichier aura surement déja ces balises.
C'est pour aviter de faire du code trop sale et surtout éviter les problèmes d'incompatibilité :)


----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------
Messages postés
125
Date d'inscription
lundi 15 août 2005
Statut
Membre
Dernière intervention
9 octobre 2007

re-salut à tous et merci de votre aide, je suis désolé mais j'ai du loupé un wagon là!
pour faire un test simple j'ai fait ça :
je crée une page nommé test.php dans laquelle je met ça :

<?php
$code="test affichage";
?>
<?php
echo 'document.write("'.str_replace('"','\"',$code).'")';
?>

Je crée un deuxieme fichier par exemple affiche.html :

<html>
<head></head>

</script>"

</html>

quand je lance le fichier affiche.html j'ai une page blanche qui s'affiche !
Je precise que je fais mes tests en local (avec Xaas) et que mes liens sont bons.
à mon avis ce n'est pas comme ca que cette commande fonctionne j'ai du louper un passage.....

Si vous avez 5mn à me consacrer merci. (ou un lien car je n'ai pas encore trouvé de sujet
sur mon probleme, pourtant il doit bien y en avoir!)
Messages postés
125
Date d'inscription
lundi 15 août 2005
Statut
Membre
Dernière intervention
9 octobre 2007

désolé ce code me donne :
Parse error: parse error, unexpected ';' in W:\www\test.php on line 4

ne prennez pas en compte mon <iframe= dans mon precedent post, j'étais bourré
Messages postés
125
Date d'inscription
lundi 15 août 2005
Statut
Membre
Dernière intervention
9 octobre 2007

non c bon il y avait une virgule en trop :
echo 'document.write("'.str_replace('"','\"',$code).'")';

je continue mes test avec ca et je vous rappelle, merci
Messages postés
125
Date d'inscription
lundi 15 août 2005
Statut
Membre
Dernière intervention
9 octobre 2007

ça marche d'enfer

<?php
include('intoxitation/connect.php');


$req = mysql_query("select proverbe,auteur from Proverbe order by rand() limit 1");
$champ_citation = mysql_result($req,0,"proverbe");
$champ_auteur = mysql_result($req,0,"auteur");

mysql_close();
?>
<?
echo 'document.write("<li>'.str_replace('"','\"',$champ_citation).'

<li>('.str_replace('"','\"',$champ_auteur).')
")';
?>

Par contre existe t'il un moyen d'inserer du code genre:
<table width="204" border="1" bordercolor="#C2D5FF" cellpadding="0" cellspacing="1">

car j'ai des erreurs de parse si je met des """"""""