Communauté Informatique NDFR.net

Communauté Informatique NDFR.net (http://www.ndfr.net/forums/index.php)
-   Programmation Web (HTML, PHP, ASP, Java, XML, etc.) (http://www.ndfr.net/forums/forumdisplay.php?f=65)
-   -   script de news le retour (http://www.ndfr.net/forums/showthread.php?t=2355)

kenshin 01-07-2003 20:53

[réglé] script de news le retour
 
Bonjour,
voila ma question :
un ami voudrait afficher les news de son site sur d'autres sites, j'ai essayé la methode du script que vous m'avez donné à l'époque ici

mais hélas ça ne fonctionne pas

il utilise le gestionnaire de news : freenews
son config.php se trouve dans le répertoire freenews.

Il inclue sur sa page d'accueil les news sous forme de lien en utilisant ce code :
Code:

<?php
$chemin = "freenews";
$what_aff = "petit_format";
include ("$chemin/aff_news.php");
?>


N'etant pas une spécialiste php pourriez vous nous aider à créer notre script , merci pour vos réponses.
En espérant vous avoir donner le maximum de renseignement.

ken

kenshin 02-07-2003 11:33

Personne ne saurait ?

Jogo 02-07-2003 13:27

Bas, tu nous aide pas trop pour qu'on t'aide ! On ne connait pas freenews ni précisément où est le problème, on à aucune bas pour t'aider. :(

kenshin 02-07-2003 13:50

as tu visité le lien que j'ai indiqué ?

le problème est adapté le script mynews mais pour freenews, peut etre que parmi vous une personne connait ce gestionnaire de news.
Ce script mynews est celui ci que Formatman m'avait donné.

Code:

<?
require("config.inc.php3");

$db = mysql_connect("$dbhost", "$dblogi", "$dbpass");
mysql_select_db("$dbbase",$db);

$rqt = MYSQL_QUERY("SELECT id FROM $TBL_NEWS");
$tot = MYSQL_NUM_ROWS($rqt);

$req = MYSQL_QUERY("SELECT * FROM $TBL_NEWS ORDER BY id DESC LIMIT 0, $limit");
$res = MYSQL_NUM_ROWS($req);

$i=0;
WHILE($i!=$res)
{
$id = mysql_result($req,$i,"id");
$titre = mysql_result($req,$i,"titre");
$date = substr(mysql_result($req,$i,"date"),0,5);

if(strlen($titre)>=30){ $titre = substr($titre,0,25)."..."; }

?>
document.write("<font face='arial' size='2'><b><? echo $date; ?> : </b><a href='<? echo $PATH_INDEX; ?>#id_news_<? echo $id; ?>' target='_blank'><? echo $titre; ?></a></font><br> ");
<?
$i++;
}
?>

et moi j'en suis ici :

Code:

<?
require("freenews/config.php3");

$db = mysql_connect("$serveur_z", "$login_z", "$pass_z");
mysql_select_db("$base_z");

ensuite ne connaissant pas le php je suis coincé pour continuer.

voila les données de la table news :
http://membres.lycos.fr/kenshin51/tablefreenews.gif

Matt 02-07-2003 16:59

Si tu peux patienter une semaine, le temps pour moi de rentrer des mes "vacances", je devrais pouvoir te faire quelque chose qui marche ...

kenshin 02-07-2003 17:18

ok merci beaucoup d'y jeter un oeil

Jogo 02-07-2003 17:30

En attendant la solution professionnelle de Matt, voilà la chsoe qui devrait marcher avec ton script :

PHP Code:

<?php
require("freenews/config.php3");

//->Variable à remplir
$TBL_NEWS   "";//->Nom de la table contenant les news
$PATH_INDEX "";//->URL du fichier qui sert à afficher les news
$limit      "30";//->Nombre de news à afficher

$db mysql_connect($serveur_z$login_z$pass_z);
@
mysql_select_db($base_z);

$rqt mysql_query("SELECT id_news FROM $TBL_NEWS");
$tot mysql_num_rows($rqt);

$req mysql_query("SELECT * FROM $TBL_NEWS ORDER BY id_news DESC LIMIT 0, $limit");
$res mysql_num_rows($req);

$i   0;
while(
$i != $res)
{
  
$id    mysql_result($req$i"id_news");
  
$titre mysql_reslut($req$i"titre");
  
$date  mysql_result($req$i"date_news");

  if(
strlen($titre) >= 30)
    
$titre substr($titre025) . "...";

  echo 
"document.write(\"<font face='Arial' size='2'><b>" $date " : </b><a href='" $PATH_INDEX "#id_news_" $id "' target='_blank'>" $titre "</a></font><br />\");\n";
  
$i++;
}
?>

A savoir que pour que je sais pas si ça va marcher, car je trouve ça codé vraiment n'importe comment, à savoir qu'ils y a quelques variables qu'il faut que tu remplisent : $TBL_NEWS le nom de la table qui contient ttes les news, $limit : nombre de news qu'affiche le script et $PATH_INDEX l'url de la page qui permet d'afficher les news, à savoir qu'une ancre #id_news permet de pointer vers la bonne news, mais ça sans connaitre ton script en détails je ne peux rien faire, à toi d'adapter.
Le mieux c'set que tu me file l'url ou télécharger ton script, et je te refait le script de A à Z en moins d'une semaine.

kenshin 02-07-2003 18:17

tu peux trouver une version sur ce lien ici

merci je vais tester

kenshin 02-07-2003 18:25

Quote:

Provient du message de Jogo
[B]En attendant la solution professionnelle de Matt, voilà la chsoe qui devrait marcher avec ton script :

[PHP]
<?php
require("freenews/config.php3");

//->Variable à remplir
$TBL_NEWS = "";//->Nom de la table contenant les news
$PATH_INDEX = "";//->URL du fichier qui sert à afficher les news
$limit = "30";//->Nombre de news à afficher

le nom de la table se nomme : news
l'url du fichier qui sert àafficher les news : est ce le nom du fichier qui contiendra ce script ?
nbre de news : 5

Jogo 02-07-2003 19:37

L'url du fichier qui sert à afficher els news est l'url de la page avec laquel on voit le contenu de la news.
Je vais regarder le script, et éssayer de te faire quelque chose d'un peut mieux.

Jogo 02-07-2003 20:48

Valà, c'set la même chose, mais en plus simple et qui ne demande aucune configuration.
PHP Code:

<?php
/*  © Jogo 2003
    [email]Jogo@nintendomaine.com[/email]
    */

$chemin "./";//->chemin par rapport à la racine du script freenews
$nbnews 5;   //->nombre de news à afficher

include ($chemin "config.php");
include (
$chemin "options.inc.php");
include (
$chemin "freenews_functions.inc.php");

//->Connection MySQL
connexion();

$sql "SELECT id_news, titre, auteur, date_ajout FROM news WHERE validation='1' ORDER BY id_news DESC LIMIT 0, " $nbnews;
$res mysql_query($sql);
$nbn mysql_num_rows($res);
while(
$aff mysql_fetch_array($res)) {
  if(
strlen($aff['titre'] >= 30))
    
$aff['titre'] = substr($aff['titre'], 025) . "...";

  echo 
"document.write(\"<font face='Arial' size='2'><b>" $aff['date_ajout'] . " : </b><a href='" $url_suite "?id_news=" $aff['id_news'] . "' target='_blank'>" $aff['titre'] . "</a></font><br />\");\r";
}
mysql_close();//->je suis méticuleux, je ferme la connection
?>

Ca ne demande aucune configuration si tu mets le fichier contenant ce script dans le dossier freenews, si tu le mets pas dans ce dossier, change juste $chemin, comme tu m'avais filé ton premier script, je pense qu'il faut mettre
PHP Code:

$chemin "./freenews/"

C'est relativement simple ce que ça affiche, alors si tu veux autre chose et que t'arrive pas à le faire seul, n'ésite pas à me contacter.

EDIT : Benjy, si tu m'écoute, il faudrais que tu fasse en sorte que dans les codes php les smileys ne soient pas interprétés, car si je peux même plus mettre de sileys dans mes commentaires sans que ça soit remplacé par le code de l'image, où va le monde ? ;)

kenshin 03-07-2003 00:13

Merci beacoup pour ton aide Jogo je vais tester ton script et te tiendrait au courant du résultat.

kenshin 03-07-2003 10:52

Bonjour Jogo
le script fonctionne mais quand on appelle via
<script language="JavaScript" type="text/javascript" src="http://urldusite/freenews/nomdufichier.php"></script>

les news ne s'affichent pas , aurais tu une idée du problème ?

Jogo 03-07-2003 15:46

Moi j'ai testé, et ça marcge nickel, est ce que http://urldusite/freenews/nomdufichier.php affiche quelque chose ?

kenshin 03-07-2003 17:44

oui tout à fait.

Jogo 03-07-2003 18:45

bah moi je vais te faire un copier-coller de ce que j'ai fait en local, et ça marche impec !
Quote:

<script language="javascript" src="http://localhost/freenews_2_1/freenews/kenshin.php"></script>
La seule chose qui menque, c'set l'abscence de type="", éssais sans pour voir.

kenshin 03-07-2003 21:38

j'ai pas compris ta phrase ; j'ai essayé avec et sans guillements en double et simple mais rien à faire j'ai un message d'erreur dans internet explorer 5.5
J'ai testé à l'interieur du répertoire freenews et suivie ton conseil pour un fichier en dehors.

j'ai testé le script de ND et il marche.

j'ai effectué des cmod 777 sur les fichiers dans le script sur le répertoire freenews, tjs cette erreur et rien qui ne s'affiche.

http://membres.lycos.fr/kenshin51/erreur01.gif

ce qui prouve que le script fonctionne bien.
http://membres.lycos.fr/kenshin51/java.gif


je ne sais plus que faire j'ai testé l'applet sur wanadoo et meme chose page vierge.

Jogo 03-07-2003 22:32

Je avoir identifié le problème, ton fichier menu4.php doit contenir que
Quote:

document.write("02/07/2003 : ta news");
Or, il contient pleins de trucs qui n'on rien à faire ici, dont (je pense j'ai pas vérifié) les pubs multimania. Donc, le fichier menu4.php contient exclusivement le script que je t'es donné ? Si oui, cela voudrai dire que c'est lycos qui ajoute automatiquement toute cette merde qui empêche ce systeme de fonctionner normalement.

Matt 03-07-2003 22:39

Ah ben oui ... C'est ça ... C'est Lycos qui fout sa m**** avec sa pub ... Problème courant ...

Jogo 03-07-2003 22:51

Problème courant ... mais chiant !
On peux plus rien faire avec les hébergeurs gratuits de nos jours ! Où va le monde ?

kenshin 03-07-2003 22:56

j'ai du mal à te suivre mon cher Jogo,
la page menu4.php ne contient que le script que tu as fait, la pub de lycos ne s'affiche pas.
la pub maintenant chez multimania est une bannière sur la droite qui s'affiche une fois et encore tu acutualises la page et elle disparait.

le problème c'est que j'ai essayé sur un autre serveur autre que lycos est c'est le meme problème où un script freenews est installlé

enfin si vous avez des idées merci à ceux qui se sont pensé dessus et se pencheront dessus.

Matt 04-07-2003 08:53

Envoie moi les sources complètes sur matt@xsetup.net, et dès que je rentre chez moi (jeudi 10), je m'en occupe ...

Jogo 04-07-2003 11:16

Quote:

Provient du message de kenshin
j'ai du mal à te suivre mon cher Jogo,
la page menu4.php ne contient que le script que tu as fait, la pub de lycos ne s'affiche pas.
la pub maintenant chez multimania est une bannière sur la droite qui s'affiche une fois et encore tu acutualises la page et elle disparait.

Ah oui, as-tu regardé la source de ta page ?
Quote:

http://membres.lycos.fr/kenshin51/menu4.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
document.write("<font face='Arial' size='2'><b>02/07/2003 : </b><a href='http://membres.lycos.fr/kenshin51/freenews/ex_suite_news.php?id_news=2' target='_blank'>je vais y arriver ou pas</a></font><br />");
document.write("<font face='Arial' size='2'><b>02/07/2003 : </b><a href='http://membres.lycos.fr/kenshin51/freenews/ex_suite_news.php?id_news=1' target='_blank'>Test news</a></font><br />");


</body>

</html>

</pre></xmp></noscript>
<script src="http://ads.multimania.lycos.fr/ad/test_frame_size.js"></script>
<script language="javascript">
if (!AD_clientWindowSize()) {
document.write('<NOSC'+'RIPT>');
}
</script> <script type="text/javascript">
function setCookie(name, value, expires, path, domain, secure) {
var curCookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
document.cookie = curCookie;
}

function resizeGoogleAdFrame() {
parent.document.body.cols = "*, 140";
}


var ad_url = "http://ads.multimania.lycos.fr/ad/google/frame.php?_url="+escape(self.location);
var ref=window.document.referrer;


if(parent.LycosAdFrame) {
if(parent.memberPage && parent.memberPage.document.title ) {
parent.document.title=parent.memberPage.document.title;
}

if(parent.LycosAdFrame && parent.LycosAdFrame.location && (ref != "" && (ref+"?" != window.location) && (ref.substr(ref.length-1,1) != "/")) ) {
parent.LycosAdFrame.location.href=ad_url;
}
}
else if(top.LycosAdFrame && top.LycosAdFrame.location) {
if ((ref != "" && (ref+"?" != top.window.location) && (ref.substr(ref.length-1,1) != "?"))) {
top.LycosAdFrame.location.href=ad_url;
}
}

else {
setCookie("adFrameForcePHP",1,0,"/","membres.lycos.fr",0);
}
// hack to disallow people from resizing the google frame
//setTimeout("resizeGoogleAdFrame()", 5000);

</script>

<script type="text/javascript" src="http://ads.multimania.lycos.fr/ad/ad.php?cat=&mkw=&CC=fr&ord=1898087491&adpref="></script>
Je l'invete ça peut-être ? C'est pas venu tout seul ! C'est pour ça que t'a une erreur javascript, en croyant ouvrir un fichier js le script tombe sur toute cette merde, et là erreur JS !

Matt 04-07-2003 12:43

C'est vrai que c'est un joli merdier tout ça :confused:
Il te reste plus qu'à passer chez Free ...

kenshin 06-07-2003 19:52

je testerai sur free demain.

le script multimania n'incrute tout seul.
mais ne s'affiche pas pour autant dans la page.

kenshin 06-07-2003 22:30

j'ai installé freenews sur free.fr, je fais appel au script via un appelet javascript comme d'hab sur d'autres serveurs notamment wanadoo et j'ai toujours ce pb d'erreur qui apparait en ligne 2.

Matt 06-07-2003 22:30

Il s'affiche pas, mais le simple fait qu'il s'incruste fait que ton URL n'est plus un fichier JS, mais une page HTML ...
Chez Free ça devrait logiquement fonctionner sans problème.

kenshin 06-07-2003 22:38

pas compris
et ça ne fonctionne pas chez free
http://membres.lycos.fr/kenshin51/free.gif

kenshin 06-07-2003 22:43

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test script</title>
</head>

<body>
<script language="JavaScript" src="http://cdivxstarter.free.fr/freenews/menu4.php" type="text/javascript"></script>
</body>
</html>

Matt 06-07-2003 23:01

dans ta page menu4.php, tu ne devrais avoir aucun code HTML ... là tu en as plein ...

Jogo 06-07-2003 23:38

Quote:

Provient du message de Matt
dans ta page menu4.php, tu ne devrais avoir aucun code HTML ... là tu en as plein ...
Tjrs le même problème, ça doit être toi kenshin qui le mets, car free n'incruste pas ce genre de trucsn tt comme multimania n'incruset que ça pub, et pas les balises <html>,<head> et <body>. Lycos n'incruste que ça pub, donc ça doit être toi ! Tu ferais pas ça avec un truc à la front page ou autre éditeur qui rajoute les balises automatiquement à chaque fois ?

kenshin 07-07-2003 09:50

ben voila ma superbe erreur non j'ai edité avec le bloc note et par habitude j'ai mis les balises html.
je pense que ça n'etait pas génant.

BOnne nouvelle ça fonctionne nickel.

Merci à tous deux et à toi Jogo pour mon aide ultra précieuse.


All times are GMT +2. The time now is 04:06.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.