Forum » Izdelava spletišč » Skripta easyfeeder in vključevanje novic
Skripta easyfeeder in vključevanje novic
Bela01 ::
Pregledla sem že kup stvari, pa več ne vem kaj delam narobe.
Torej na neki prazni strani, kjer kličem tole skripto, da bi mi izpisala novice z rtvslo strani zadeva deluje. Kak pa želim enako naredit na neki svoji že oblikovani strani, pa kar zbluzi vse skupaj.
Izpis nekaterih napak:
Notice: Use of undefined constant feed - assumed 'feed' in /domains/pgd-bistrica.com/public_html/proba/easyfeeder.php on line 30
Notice: Use of undefined constant maxitems - assumed 'maxitems' in /domains/pgd-bistrica.com/public_html/proba/easyfeeder.php on line 39
Notice: Use of undefined constant maxitems - assumed 'maxitems' in /domains/pgd-bistrica.com/public_html/proba/easyfeeder.php on line 39
......
Po vseh teh napakah se mi pa kljub temu izpišejo novice.
Koda easyfeeder.php:
Na strani kličem tako:
Ali ima mogoče kdo kakšno idejo? Skripto je sicer mogoče dobiti na tej strani:
klik
Torej na neki prazni strani, kjer kličem tole skripto, da bi mi izpisala novice z rtvslo strani zadeva deluje. Kak pa želim enako naredit na neki svoji že oblikovani strani, pa kar zbluzi vse skupaj.
Izpis nekaterih napak:
Notice: Use of undefined constant feed - assumed 'feed' in /domains/pgd-bistrica.com/public_html/proba/easyfeeder.php on line 30
Notice: Use of undefined constant maxitems - assumed 'maxitems' in /domains/pgd-bistrica.com/public_html/proba/easyfeeder.php on line 39
Notice: Use of undefined constant maxitems - assumed 'maxitems' in /domains/pgd-bistrica.com/public_html/proba/easyfeeder.php on line 39
......
Po vseh teh napakah se mi pa kljub temu izpišejo novice.
Koda easyfeeder.php:
<?php //error_reporting(E_ALL&(~E_NOTICE)); function cut($start,$end,$word,$testvar=0) { $word=substr($word,strpos($word,$start)+strlen($start)); $word=substr($word,0,strpos($word,$end)); if($testvar) die($start." ".$end."<br>".$word); return $word; } //make resume from description function resume($text,$limit=7) { $words=@explode(" ",$text); $words=@array_splice($words,0,$limit); $retstr=@implode(" ",$words); return $retstr."... "; } function easyfeeder($configs) { //go thru the feeds array $content=file_get_contents($configs[feed]); $items=explode("<item>",$content); array_shift($items); //strip the general feed description $retstr=""; foreach($items as $cnt=>$item) { if($configs[maxitems]>0 and $cnt+1>$configs[maxitems]) break; //extract tags $title=cut("<title>","</title>",$item); $link=cut("<link>","</link>",$item); if(strstr($item,"<![CDATA[")) { $description=cut("<description>","</description>",$item); $description=cut("<![CDATA[","]]",$description); } else { $description=cut("<description>","</description>",$item); } $language=cut("<language>","</language>",$item); $copyright=cut("<copyright>","</copyright>",$item); $managingEditor=cut("<managingEditor>","</managingEditor>",$item); $webMaster=cut("<webMaster>","</webMaster>",$item); $pubDate=cut("<pubDate>","</pubDate>",$item); $lastBuildDate=cut("<lastBuildDate>","</lastBuildDate>",$item); $category=cut("<category>","</category>",$item); //now replace tags $tpl=file_get_contents($configs[template]); $tpl=str_replace("{title}",$title,$tpl); $tpl=str_replace("{link}",$link,$tpl); $tpl=str_replace("{description}",$description,$tpl); $tpl=str_replace("{language}",$language,$tpl); $tpl=str_replace("{copyright}",$copyright,$tpl); $tpl=str_replace("{managingEditor}",$managingEditor,$tpl); $tpl=str_replace("{webMaster}",$webMaster,$tpl); $tpl=str_replace("{pubDate}",$pubDate,$tpl); $tpl=str_replace("{lastBuildDate}",$lastBuildDate,$tpl); $tpl=str_replace("{category}",$category,$tpl); $retstr.=$tpl; } return $retstr; } ?>
Na strani kličem tako:
<?php error_reporting(E_ALL&(~E_NOTICE)); $configs=array(); $configs[feed]="http://www.rtvslo.si/feeds/08.xml"; $configs[template]="template.html"; $configs[maxitems]="5"; require_once("easyfeeder.php"); ?> <html> <head><title>Your sample RSS page</title> </head> <body> <table align=center width=220> <tr><td> <p> <?=easyfeeder($configs)?> </p> </td> </tr></table> </body>
Ali ima mogoče kdo kakšno idejo? Skripto je sicer mogoče dobiti na tej strani:
klik
Ziga Dolhar ::
$configs[feed]="http://www.rtvslo.si/feeds/08.xml"; $configs[template]="template.html"; $configs[maxitems]="5";
Glede na to, da "feed", "template" in "maxitems" očitno niso konstante, predlagam, da jih vržeš v narekovaje. Torej,
$configs['feed']= ...
In tako naprej za vse tri omenjene težave.
https://dolhar.si/
Bela01 ::
Hvala!
V čem je pa fora, da če dam v neko stran, ne morejo biti to konstante? Če pa kličem z prazne strani pa deluje. Meni se to zdi enako :/
V čem je pa fora, da če dam v neko stran, ne morejo biti to konstante? Če pa kličem z prazne strani pa deluje. Meni se to zdi enako :/
Ziga Dolhar ::
Well, na vrhu skripte izklopis prikaz NOTICE-ov :-). Vidi error_reporting cist na vrhu.
S tem zgolj zakrijes slabo pisano kodo.
S tem zgolj zakrijes slabo pisano kodo.
https://dolhar.si/
Ziga Dolhar ::
Lejjo :).
Rešitev, kot sem ti povedal, je, da izraze feed, template in maxitems znotraj associativnega arraya - DAŠ V NAREKOVAJE. Madona!
Ali pa, če bi res rada uporabljala konstante - jih moraš definirati. Glej funkcijo define().
Rešitev, kot sem ti povedal, je, da izraze feed, template in maxitems znotraj associativnega arraya - DAŠ V NAREKOVAJE. Madona!
$configs['feed']="http://www.rtvslo.si/feeds/08.xml"; $configs['template']="template.html"; $configs['maxitems']="5";
Ali pa, če bi res rada uporabljala konstante - jih moraš definirati. Glej funkcijo define().
https://dolhar.si/
Bela01 ::
Nisva se razumela. Zadeva že deluje ;). Sem popravla one narekovaje.
Vendar mi je hecno zakaj more bit tak oz. me zanima zakaj ne morejo bit kot konstanta? Namreč če kličem to v eni prazni strani, pa ni nobene napake. Informativno me zanima - pač za drugič ;)
Vendar mi je hecno zakaj more bit tak oz. me zanima zakaj ne morejo bit kot konstanta? Namreč če kličem to v eni prazni strani, pa ni nobene napake. Informativno me zanima - pač za drugič ;)
Ziga Dolhar ::
Zato ni napake, ker imaš po defaultu verjetno izklopljen prikaz "NOTICE" dogodkov (napak). Če boš tudi tja na vrh dala error_reporting(E_ALL);, se bodo tudi tam prikazale.
Če želiš uporabit kot "konstante", jih moraš seveda definirati kot konstante. Torej, še preden so prvič uporabljene, mora biti oznanjeno define('feed', 'krnekifeed');.
Če želiš uporabit kot "konstante", jih moraš seveda definirati kot konstante. Torej, še preden so prvič uporabljene, mora biti oznanjeno define('feed', 'krnekifeed');.
https://dolhar.si/
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [PHP] Nedelujoči mail()Oddelek: Programiranje | 1505 (1375) | Miko55 |
» | Prenos WP bloga k drugem gostitelju, ni možna več prijavaOddelek: Izdelava spletišč | 1817 (1598) | marS |
» | PHP & apache - nejasen problemOddelek: Pomoč in nasveti | 1389 (1237) | Dahakka |
» | Povezava na bazo iz drugega strežnikaOddelek: Izdelava spletišč | 1015 (790) | Tody |
» | [PHP]: problem s pošiljanjem datotek na strežnikOddelek: Programiranje | 953 (826) | Silvano |