speicher
Erfahrenes Mitglied
Hallo,
ich weiss nicht so recht, warum meine GET Aufrufe nicht wirklich funktionieren.
Es treten 2 Probleme auf:
1.um $ziel['5'] aufzurufen, welches später durch ein funktionierendes $ziel['nr-1'] ersetzen wollte habe ich $ziel['6-1'] versucht, doch das funktioniert schon einmal nicht.
2. wenn ich die aufruf.php?nr=1 z.b. aufrufe erhalte ich einen Fehler. Da ich nicht so wirklich der PHP Exp. bin hoffe ich einmal darauf, dass mir jemand verraten kann, warum es nicht geht.
Ich danke Euch.
aufruf.php
get.php Wichtig hierbei der Problemteil: siehe unten !
ich weiss nicht so recht, warum meine GET Aufrufe nicht wirklich funktionieren.
Es treten 2 Probleme auf:
1.um $ziel['5'] aufzurufen, welches später durch ein funktionierendes $ziel['nr-1'] ersetzen wollte habe ich $ziel['6-1'] versucht, doch das funktioniert schon einmal nicht.
2. wenn ich die aufruf.php?nr=1 z.b. aufrufe erhalte ich einen Fehler. Da ich nicht so wirklich der PHP Exp. bin hoffe ich einmal darauf, dass mir jemand verraten kann, warum es nicht geht.
Ich danke Euch.
aufruf.php
PHP:
<?php
include("get.php");
$max = $_index;
for ($x = 1; $x < ($max+1); $x++) {
echo '<br><hr><br>';
echo '<a href="' . print_r($items[$x][link], true) . '"target="News" class="z"><span>['.$x.'/'.$max.'] '.$items[$x][title].'</span><br><font face="Lucida Sans Unicode" size="1">[externer Link]</font></a>';
}
?>
get.php Wichtig hierbei der Problemteil: siehe unten !
PHP:
<?php
class rdfparser {
var $_items; // array the items
var $_may; // array what may be done
var $_act; // string current active
var $_index; // integer current index
var $_url; // url to open
function rdfparser($url)
{
$this->_url = $url;
}
function parse()
{
$this->_items = array();
$this->_index = 0;
$this->_may['parse'] = false;
$parser = xml_parser_create();
xml_set_object($parser, $this);
xml_set_element_handler($parser, "_startElement", "_endElement");
xml_set_character_data_handler($parser, "_charHandler");
$fp = fopen($this->_url, "r");
while(!feof($fp)) {
$line = fgets($fp, 4096);
xml_parse($parser, $line);
}
fclose($fp);
xml_parser_free($parser);
return $this->_items;
}
function _startElement($parser, $name, $attrs)
{
// allow parsing chardata as soon as an element is opened
$this->_may['char'] = true;
if ($name=="ITEM") {
// allow parsing as soon as an item element was opened
$this->_may['parse'] = true;
// one more item -> increment index
$this->_index++;
$this->_items[$this->_index] = Array('title' => '', 'link' => '', 'description' => '');
} else if ($name=="TITLE") {
// current active: title
$this->_act = "TITLE";
} else if($name=="LINK") {
// current active: link
$this->_act = "LINK";
} else if($name=="DESCRIPTION") {
// current active: description
$this->_act = "DESCRIPTION";
} else {
// unknown tag, don't allow adding chardata
$this->_may['char'] = false;
}
$this->_act = strtolower($this->_act);
}
function _endElement($parser, $name)
{
if($name=="ITEM") {
// item tag closed: parsing not allowed
$this->_may['parse'] = false;
} elseif($name=="TITLE" || $name=="LINK" || $name="DESCRIPTION") {
// datatag closed, we don't want different chardata
$this->_may['char'] = false;
}
}
function _charHandler($parser, $data)
{
$data = trim($data);
if(!$this->_may['char'] OR !$this->_may['parse']) {
return;
}
if (isset($this->_items[$this->_index][$this->_act])) {
$this->_items[$this->_index][$this->_act] .= $data;
} else {
$this->_items[$this->_index][$this->_act] = $data;
}
}
}
//----------------------------PROBLEMTEIL
$ziel = array();
$ziel['1'] = "http://www.tagesschau.de/newsticker.rdf";
$ziel['2'] = "http://www.spiegel.de/schlagzeilen/rss/0,5291,19,00.xml";
$ziel['3'] = "logo.gif";
$ziel['4'] = "logo2.gif";
$ziel['5'] = "http://www.tagesschau.de";
$ziel['6'] = "http://www.spiegel.de";
if(isset($_GET['nr']) AND isset($ziel[$_GET['nr']]))
{
if(!file_exists($ziel[$_GET['nr']])) echo "Die Datei ist nicht vorhanden.";
$rdfparser = new rdfparser($ziel['nr']);
}
else
{
$rdfparser = new rdfparser($ziel['2']);
}
$items = $rdfparser->parse();
$_index = $rdfparser->_index;
echo 'powered by:<p><a href='.$ziel['6-1'].' target=_new><img border="0" src="' .$ziel['4'].'"></p></a><p><p>';
?>