haluaisin kehitellä frontpagella tehdylle sivulleni rss-uutistenhakijan. php:llä pitäisi ilmeisesti onnistua, mutta en ole saanut toimimaan. Tein seuraavan php-tiedoston:
<?php $url = "http://blogs.msdn.com/aaronmar/Rss.aspx"; function headlines($url) { $fp = @fopen($url, "r"); if ($fp) { $string = ""; while(!feof($fp)) { $string .= chop(fgets($fp,300)); } fclose($fp); $items = explode("</item>",$string); $content = ""; for ($i=0;$i<10;$i++) { $link = ereg_replace(".*<link>","",$items[$i]); $link = ereg_replace("</link>.*","",$link); $title = ereg_replace(".*<title>","",$items[$i]); $title = stripslashes(ereg_replace("</title>.*","",$title)); if (strcmp($link,$title) AND $items[$i] != "") { $content .= "<strong><big>·</big></strong><a href="$link" target="new">$title</a><br>n"; } } } return $content; } ?> Nyt en kuitenkaan osaa kutsua tuota html:stä, yritin seuraavaa: <?php require_once "/rss.php"; ?>
mutta ei toiminut.
Olen uusi php:n kanssa, joten suokaa anteeksi, tämän pitäisi varmaan olla helppo juttu. Miten saan uutiset näkymään sivullani?
Mod. edit: lisätty, eipä näyttäny paljo auttavan. Vastaisuuden varalle: sisentäminen on pop.
Auttaako tämä?
Voisko moderaattorit/viestin lähettäjä laittaa viestiin kooditagit?
Tuo headlines() on funktio, joka palauttaa arvon. Tässä tapauksessa tuo arvo HTML-koodia, joka sisältää ne otsikot. Voit tulostaa tuon arvon haluamaasi paikkaan ihan tavallisesti:
echo headlines();
Toki, jos pidät sitä erillisessä tiedostossa, joudut liittämään ensin tuon tiedoston, esimerkiksi includella:
include('rss.php');
http://magpierss.sourceforge.net/
Osaa mm. cachetuksen ja on todella helppokäyttöinen.
Nyt käytän magpierssiä:
<?php require_once 'rss_fetch.inc'; $url = 'http://news.bbc.co.uk/rss/newsonline_world_edition/front_page/rss091.xml'; $num_items = 3; $rss = fetch_rss($url); $items = array_slice($rss->items, 0, $num_items); echo "Site: ", $rss->channel['title'], "<br> "; foreach ($items as $item ) { $title = $item[title]; $url = $item[link]; $desc = $item[description]; echo "<a href=$url>$title<br>$desc</a></li><br><br> "; } ?>
kun ajan php-scriptiä suoraan (selaimeen http://localhost/testi.php) niin saan kyllä tavaraa ihan järkevästi, mutten millään saa sitä näkymään esim html-sivuni alalaidassa (tai missään muuallakaan).
Olen yrittänyt lähinnä seuraavaa (ja montaa muutakin)
<?php include("testi.php"); ?>
Miten tuo php file saadaan ajettua, jos ei tuolla includella?
Oletko antanut html-sivusi tiedostopäätteeksi ".html" vai ".php"? Jos se on ".html", palvelin ei tajua etsiä siitä php-koodia.
Joo tuostahan se johtuikin. Kiitoksia paljon.
Vielä tuli uusi ongelma: käyn hakemassa hesarin uutisia osoitteesta: http://hs.subexit.com/.
Saadusta linkistä pääsee hesarin sivulle lukeman haluttua uutista. Kun nyt käyttäjä painaa selaimen "Edellinen" painiketta, ei hän pääsekään mihinkään, sillä ilmeisesti selain muistaa php-koodin edellisenä sivuna, joka sitten taas heti ohjaa takaisin ks. sivulle. Ymmärsinkö oikein? Mitä pitäisi korjata ja mistä että käyttäjä pääsisi kivasti takaisin?
(tilannetta voi tarkastella osoitteessa www.esakom.net)
En oikein ymmärtänyt. Kun klikkasin uutista "Lumityöt rasittavat miehen sydäntä", pääsin kyllä ihan back-painikkeella takaisin...
Jaa onkohan tämä joku selainriippuvainen ongelma... mikä selain sulla on juice? Näköjään firefoxilla ei ole ongelmaa! Osaisiko joku kertoa miten ongelma poistettaisiin ie:n käyttäjiltä? (kun kaikki ei kuitenkaan selaintaan vaihda)
Iframella toteutit, siitä varmaankin ongelmat. Mikset vain vaihda etusivun tiedostopäätettä .php?
sitten kai joutuisin tekemään index.html-sivun joka avaisi index.php-sivun.
Ratkaisin nyt ainakin toistaiseksi avaamalla uuden ikkunan uutista varten.
Käytän siis Firefoxia.
Aihe on jo aika vanha, joten et voi enää vastata siihen.