x

Übergabe Variablen Java-Script -> PHP. Bitte um Hilfe


  1. Übergabe Variablen Java-Script -> PHP. Bitte um Hilfe · vDJan (Gast) · 14.02.2015 20:10 · [flux]

    Hallo zusammen,
    Beschäftige mich seit einiger Zeit mit OSM. Nun versuche ich, aus einer Datenbank Koordinaten an das Javascript der OSM-Map zu übergeben.
    Folgendes Skript läuft soweit mit einem einzigen Problem: Die Werte aus der Datenbank werdne nicht an Javascript übergeben, oder verschwinden irgendwo in der Versenkung. Kann mir jemand weiterhelfen? Erkennt jemand einen Fehler?

    Technische Frage zu JSON: Muss ich für die Nutzung des JSON-Formats eine externe Datei einbinden?

    <?php
    
    include␣("login/login.txt");
    
    $link␣=␣mysql_connect($datenbank,␣$username,␣$password);
    if␣(!$link)
    {
    die('Keine␣Verbindung␣möglich:␣'␣.␣mysql_error());
    }
    
    if␣(!mysql_select_db('dasrettung_bb'))
    {
    die('Konnte␣Schema␣nicht␣selektieren:␣'␣.␣mysql_error());
    }
    
    $lat␣=␣mysql_query('SELECT␣Positionlat␣FROM␣sichtungen');
    if␣(!$lat)
    {
    die('Konnte␣Abfrage␣1␣nicht␣ausführen:'␣.␣mysql_error());
    }
    
    $lon␣=␣mysql_query('SELECT␣Positionlon␣FROM␣sichtungen');
    if␣(!$lon)
    {
    die('Konnte␣Abfrage␣2␣nicht␣ausführen:'␣.␣mysql_error());
    }
    
    $datum␣=␣mysql_query('SELECT␣Datum␣FROM␣sichtungen');
    if␣(!$datum)
    {
    die('Konnte␣Abfrage␣3␣nicht␣ausführen:'␣.␣mysql_error());
    }
    
    $uhrzeit␣=␣mysql_query('SELECT␣Uhrzeit␣FROM␣sichtungen');
    if␣(!$uhrzeit)
    {
    die('Konnte␣Abfrage␣4␣nicht␣ausführen:'␣.␣mysql_error());
    }
    
    $meldung␣=␣mysql_query('SELECT␣Meldung␣FROM␣sichtungen');
    if␣(!$meldung)
    {
    die('Konnte␣Abfrage␣4␣nicht␣ausführen:'␣.␣mysql_error());
    }
    
    $neuemeldung␣=␣$datum.'␣-␣'.$uhrzeit.'Uhr:␣'.$meldung;
    
    php?>
    
    <script␣type="text/javascript">
    //<![CDATA[
    
    var␣map;
    var␣layer_mapnik;
    var␣layer_tah;
    var␣layer_markers;
    
    function␣drawmap()␣{
    OpenLayers.Lang.setCode('de');
    
    //␣Position␣und␣Zoomstufe␣der␣Karte
    var␣lon␣=␣6.641389;
    var␣lat␣=␣49.756667;
    var␣zoom␣=␣7;
    var␣pinnlat␣=␣$.parseJSON('<?php␣echo␣json_encode($lat);␣?>');
    var␣pinnlon␣=␣$.parseJSON('<?php␣echo␣json_encode($lon);␣?>');
    var␣pinnmeldung␣=␣$.parseJSON('<?php␣echo␣json_encode($neuemeldung);␣?>');
    
    map␣=␣new␣OpenLayers.Map('map',␣{
    projection:␣new␣OpenLayers.Projection("EPSG:900913"),
    displayProjection:␣new␣OpenLayers.Projection("EPSG:4326"),
    controls:␣[
    new␣OpenLayers.Control.Navigation(),
    new␣OpenLayers.Control.LayerSwitcher(),
    new␣OpenLayers.Control.PanZoomBar()],
    maxExtent:
    new␣OpenLayers.Bounds(-20037508.34,-20037508.34,
    20037508.34,␣20037508.34),
    numZoomLevels:␣18,
    maxResolution:␣156543,
    units:␣'meters'
    });
    
    layer_mapnik␣=␣new␣OpenLayers.Layer.OSM.Mapnik("Mapnik");
    layer_markers␣=␣new␣OpenLayers.Layer.Markers("Address",␣{␣projection:␣new␣OpenLayers.Projection("EPSG:4326"),
    visibility:␣true,␣displayInLayerSwitcher:␣false␣});
    
    map.addLayers([layer_mapnik,␣layer_markers]);
    jumpTo(lon,␣lat,␣zoom);
    
    //␣Position␣des␣Markers
    while␣(lat.length␣>␣0)
    {
    addMarker(layer_markers,␣pinnlon,␣pinnlat,␣pinnmeldung);
    }
    }
    
    //]]>
    </script>
    

    Vielen Dank schonmal für die Hilfe


    • Re: Übergabe Variablen Java-Script -> PHP. Bitte um Hilfe · user_5359 (Gast) · 14.02.2015 20:23 · [flux]

      Hallo vDJan,

      Willkommen im Forum! Sehe ich das richtig, das kurz vor dem JavaScript ein php zuviel ist? Und eine Empfehlungen auszusprechen: Verwende besser die mysqli Library Funktionen, das ist zukunftssicherer.

      Mit freundlichen Grüßen Georg V. (OSM=user_5359)


    • Re: Übergabe Variablen Java-Script -> PHP. Bitte um Hilfe · vDJan (Gast) · 14.02.2015 22:13 · [flux]

      Vielen Dank. Ich habe leider keine Rechte auf dem Server um mysqli Library zu installieren.

      Ich kann im übrigen kein überschüssiges php finden, ich habe nur den php-Tag geschlossen. Kann man ja entweder mit ?> oder php?> machen.
      Trotzdem frage ich mich warum dieses Script nicht funktioniert. Theoretisch müsste php doch die werte übernehmen können
      und über JSON weitergeben.


    • Re: Übergabe Variablen Java-Script -> PHP. Bitte um Hilfe · Nadjita (Gast) · 14.02.2015 22:26 · [flux]

      Hallo vDJan!

      Darf ich fragen, warum Du $.parseJSON() nimmst, anstatt direkt zuzuweisen? Eigentlich sollte etwas wie

      var pinnlat = <?php echo json_encode($lat); ?>;

      vollstaendig ausreichen.

      ANsonsten sehe ich, dass Du mysql_query() machst, aber nirgendwo mysql_fetch_assoc() oder einen anderen Aufruf, um die Daten auch abzuholen.

      vDJan wrote:

      Technische Frage zu JSON: Muss ich für die Nutzung des JSON-Formats eine externe Datei einbinden?

      Nein, es ist ein reines Datenaustauschformat. Total egal, ob Du das als String einbindest oder als externe Datei.


    • Re: Übergabe Variablen Java-Script -> PHP. Bitte um Hilfe · Dennis[B] (Gast) · 15.02.2015 00:28 · [flux]

      Wie wäre es mit ein wenige Debugging? Bevor Du mit dem Javascript beginnst kannst Du ja mal die Werte ausspucken und schauen, ob sie korrekt sind.

      Ich würde auch da drauf verzichten, erst mit PHP anzufangen, dann zum Javascript zu wechseln und im Javascript wieder PHP zu verwenden und dort dann nochmal wieder Funktionen aufzurufen. Das ist ziemlich Crazy.

      Ich würde zu 100% auf PHP wechseln und den Javascript-Code mit echo ausgeben. Auch wenn es ein klein wenig arbeit ist, aber Javascript und PHP so zu mischen funktioniert natürlich, ist aber schon Crazy. Wobei das natürlich Geschmackssache ist, aber PHP läuft auf dem Server und JS im Browser. Das sind zwei verschiedene Standorte, so etwas vermischt man nicht.


    • Re: Übergabe Variablen Java-Script -> PHP. Bitte um Hilfe · Nop (Gast) · 15.02.2015 00:31 · [flux]

      Ich sehe eine ganze Reihe von Problemen in dem Skript, kann es sein, daß Du zum ersten mal mit SQL arbeitest?

      - Du hast 4 Queries, eines für jedes Feld in der Datenbank. Normalerweise würde man alle 4 Felder mit einem einzigen Select abfragen
      - der Datenbankabfrage fehlt eine WHERE-Klausel (Außer es gibt nur einen einzigen Wert in der Datenbank, aber dann wäre die DB sowieso überflüssig :-)
      - Ein Query gibt Dir die Daten nicht direkt zurück, Du kannst also nicht schreiben "$lat = mysql_query()". Die Rückgabe ist eine Resource, von der man mit mysql_fetch_assoc() die eigentlichen Daten abragen kann.
      - Was versuchst Du mit JSON zu machen? Das ist für die Übergabe nach Javascript überflüssig. Du schreibst einfach in Deinem Javascript sowas wie "var lat=<?php print $lat; ?>;"

      Schau Dir nochmal eines der vielen mysql Tutorials im Netz an wie so ein Query aussehen muß.

      bye, Nop


    • Re: Übergabe Variablen Java-Script -> PHP. Bitte um Hilfe · wambacher (Gast) · 15.02.2015 00:52 · [flux]

      vDJan wrote:

      Vielen Dank. Ich habe leider keine Rechte auf dem Server um mysqli Library zu installieren.

      Kenn mich nich soooo mit gehosteten Servern aus, aber ich glaube, dass man in solchen Fällen die Lib "einfach" im eigenen Plattenbereich installiert und dann "nur" mit den Pfaden aufpassen muß.

      wie schon gesagt, reine dunkelgraue Theorie.

      Gruss
      walter


    • Re: Übergabe Variablen Java-Script -> PHP. Bitte um Hilfe · Dennis[B] (Gast) · 15.02.2015 01:29 · [flux]

      wambacher wrote:

      vDJan wrote:

      Vielen Dank. Ich habe leider keine Rechte auf dem Server um mysqli Library zu installieren.

      Kenn mich nich soooo mit gehosteten Servern aus, aber ich glaube, dass man in solchen Fällen die Lib "einfach" im eigenen Plattenbereich installiert und dann "nur" mit den Pfaden aufpassen muß.

      So ist es. Ich kenne MySQLi nicht, aber häufig müssen noch die Schreibrechte gegeben werden und wenn Zugangsdaten erforderlich sind, diese in den Config-Daten eingetragen werden.

      Ich vermute hier den Fehler aber ganz wo anders, bzw. vermute ich, daß deutlich mehr als nur 1 Fehler vorliegt. "Nop" hat auch schon diverse Ungereimtheiten aufgelistet. Daher mein Vorschlag mal zwischendrin ein paar Werte auszuspucken und zu schauen, ob die überhaupt so sind, wie sie gewünscht sind.


    • Re: Übergabe Variablen Java-Script -> PHP. Bitte um Hilfe · user_5359 (Gast) · 15.02.2015 06:16 · [flux]

      Also ich kann im Manuel nur die Kurzschreibform <? für <?php und nicht die Langform ?php> für das Ende finden. (*) Aber wenn es so bei Dir funktioniert, dann sag uns doch erstmal die Fehlermeldung oder -falls keine existiert-zeig uns doch den Code, der erzeugt wude und begründe, warum er falsch ist.
      Zum OT Thema verwendete Library: Bevor Du planst Libraries selber zu installieren, würde ich erstmal ein phpinfo (**) absetzen, ich glaube kaum, das es Webhoster gibt, die keine Alternativen zur MYSQL Library anbieten.

      Georg V.
      Fußnoten (*) ich sitze derzeit entwicklungstechnisch in der Pampa und kriege mobil nur selten Internet "rein", längere Suche auf php.net war deshalb nicht möglich.
      (**) zur Zeiten der Ressourcenknappheit würde auf Nachfragen dazu ein RTFM folgen, lese doch bitte hierzu das Manuel oder die PHP Quelle Deines Vertrauens.


    • Re: Übergabe Variablen Java-Script -> PHP. Bitte um Hilfe · Netzwolf (Gast) · 15.02.2015 10:22 · [flux]

      Moins,

      vDJan wrote:

      Kann mir jemand weiterhelfen?

      Ich hab aus Deinen Code mal ans Laufen gebracht. Möglicherweise ist der Quellcode hilfreich als Startpunkt für Dich.

      Gruß Wolf


    • Re: Übergabe Variablen Java-Script -> PHP. Bitte um Hilfe · Hakuch (Gast) · 15.02.2015 10:56 · [flux]

      vDJan wrote:

      Vielen Dank. Ich habe leider keine Rechte auf dem Server um mysqli Library zu installieren.

      Also wenn du Geld für deinen Server bezahlst und da keine mysqli lib (bzw. besser noch pdo) drauf ist, würde ich nichts mehr bezahlen und wechseln 🙂 Ne ehrlich, das ist so als würde man jetzt noch Windows 95 benutzen!


    • Re: Übergabe Variablen Java-Script -> PHP. Bitte um Hilfe · vDJan (Gast) · 15.02.2015 22:07 · [flux]

      Ersteinmal vielen Dank an alle die mir geholfen haben. Bin somit ein ganze Stückchen weiter. Was die sache mit dem Server angeht: Habe mich etwas falsch ausgedrückt: Ist kein Server sondern gehosteter Webspace mit PHP5 und MySQL ohne root-Rechte etc.

      Nadjita wrote:

      Hallo vDJan!

      Darf ich fragen, warum Du $.parseJSON() nimmst, anstatt direkt zuzuweisen? Eigentlich sollte etwas wie

      var pinnlat = <?php echo json_encode($lat); ?>;

      vollstaendig ausreichen.

      In der Dokumentation von JSON stand, dass encode für Arrays nicht ausreicht, zumindest habe ich das so übersetzt. Deshalb habe ich parse gewählt.

      Nadjita wrote:

      Ansonsten sehe ich, dass Du mysql_query() machst, aber nirgendwo mysql_fetch_assoc() oder einen anderen Aufruf, um die Daten auch abzuholen.

      vDJan wrote:

      Technische Frage zu JSON: Muss ich für die Nutzung des JSON-Formats eine externe Datei einbinden?

      Nein, es ist ein reines Datenaustauschformat. Total egal, ob Du das als String einbindest oder als externe Datei.

      Manchmal sieht man den Wald vor lauter Bäumen nicht. Das dürfte das Problem sein warum die Werte nicht übergeben wurden.

      @DennisB: Debugging brachte nix, wurden ja nur keine Werte übergeben.
      @Nop: Ich arbeite zwar nicht zum ersten mal mit MySQL, bin aber sehr uneholfen und habe wenig Programmiererfahrung. Bei mir haben sich eine Menge Fehler eingeschlichen.
      @Netwolf: Vielen vielen Dank, das sieht deutlich ordentlicher aus als das was ich da gebaut habe.


    • Re: Übergabe Variablen Java-Script -> PHP. Bitte um Hilfe · Joachim Moskalewski (Gast) · 16.02.2015 08:13 · [flux]

      Hakuch wrote:

      vDJan wrote:

      Vielen Dank. Ich habe leider keine Rechte auf dem Server um mysqli Library zu installieren.

      Also wenn du Geld für deinen Server bezahlst und da keine mysqli lib (bzw. besser noch pdo) drauf ist, würde ich nichts mehr bezahlen und wechseln 🙂 Ne ehrlich, das ist so als würde man jetzt noch Windows 95 benutzen!

      Zustimmung. Das Vorhandensein von mysqli ist längst Standard, da sollte keine Installation notwendig sein. Dagegen ist die betagte mysql-API schon recht lange deprecated (Juni 2013 mit Erscheinen von PHP5.5) - d.h. Scripte, die damit geschrieben wurden, werden nicht mehr so lange funktionieren… (Erst recht, wenn man nix installieren kann und der Hoster hoffentlich PHP auch mal aktualisiert.) Die Umstellung von mysql_* auf mysqli_* ist auf den zweiten Blick gar nicht so dramatisch, denn man kann die "neue" API (neben dem objektorientierten->Einsatz) auch als Syntax-ähnliche function() einsetzen. Bin gespannt, wie viele kommerzielle Seiten bei dieser Umstellung auf die Nase fliegen werden, weil schlicht keiner Changelogs (oder Warnings in den Error-Logs) liest und kein Entscheider auf den Programmierer hört, ders vielleicht mitbekommen hat und um Resourcen bettelt 😉


    • Re: Übergabe Variablen Java-Script -> PHP. Bitte um Hilfe · vDJan (Gast) · 04.04.2015 13:32 · [flux]

      Ich schaffe es leider nicht, sämtliche Datensätze der Datenbank an das Javascript zu übergeben. Mit dem Quellcode von Netzwolf und ein wenig experimentieren habe ich es zumindest geschafft, den ersten Datensatz zu übergeben.

      <?php
      
      #===============================================================================
      #	Database␣config
      #===============================================================================
      
      //␣"clean"␣names␣only!␣there␣is␣*no*␣sql-escaping.
      
      include␣("login/login.txt");
      
      #===============================================================================
      #	Database
      #===============================================================================
      
      #-----------------------------------------------------
      #	Connect␣to␣server
      #-----------------------------------------------------
      
      if␣(!@mysql_connect␣($MYSQL_SERVER,␣$MYSQL_USER,␣$MYSQL_PASSWORD))␣die(mysql_error());
      
      #-----------------------------------------------------
      #	Select␣database
      #-----------------------------------------------------
      
      if␣(!@mysql_select_db␣($MYSQL_DATABASE))␣die(mysql_error());
      
      #-----------------------------------------------------
      #	Select␣row
      #-----------------------------------------------------
      
      #␣Lese␣alle␣Felder␣in␣*einem*␣Request.␣Dann␣passen␣die␣Werte␣auch␣zusammen.
      #␣Und␣garantiere␣maximal␣1␣Ergebnis.
      
      $query␣=␣"SELECT␣positionlat,␣positionlon,␣meldung␣FROM␣sichtungen␣LIMIT␣1";
      $result=␣@mysql_query␣($query);
      
      if␣(!$result)␣die(mysql_error());
      
      #-----------------------------------------------------
      #	Extrahiere␣Felder
      #-----------------------------------------------------
      
      if␣(mysql_num_rows($result)␣!=1)␣␣{␣die("Nix␣oder␣zuviel␣gefunden.");␣}
      
      list␣($positionlat,␣$positionlon,␣$meldung)␣=␣mysql_fetch_row($result);
      
      #-----------------------------------------------------
      #␣aus␣dem␣Feldern␣was␣gebastelt
      #␣ACHTUNG!!!␣wenn␣Quotezeichen␣im␣Text␣enthalten␣sein␣koennen,␣quoten!
      #-----------------------------------------------------
      
      $text␣=␣"{$meldung}␣({$positionlat}␣{$positionlon})";
      
      #-----------------------------------------------------
      #␣und␣jetzt␣kommt␣die␣lustige␣Webseite
      #-----------------------------------------------------
      
      //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
      echo␣<<<ENDOFPAGE
      <html>
      <head>
      <link␣href="stylesichtung.css"␣rel="stylesheet"␣type="text/css"␣/>
      <!--[if␣IE]>
      <link␣rel="stylesheet"␣type="text/css"␣href="stylesichtung_ie.css"></link>
      <![endif]-->
      <title>Bahnblitze␣Sichtungen</title>
      <meta␣name="keywords"␣content="Sichtungen,␣Sichtungskarte,␣Live-Map,␣␣Eisenbahnfotografie,␣Deutschland,␣Live-Karte,␣Echtzeitkart,␣Echtzeitdaten,␣Eisenbahnfotos,␣Fotos,␣Modellbahn,␣Fotostellen,␣Historische,␣Eisenbahngeschichte,␣␣alle,␣Überblick,␣Baureihen,␣DB-Baureihe,␣EDV-Nummer,␣Baureihenüberblick,␣Leistungsdaten,␣Baureihe,␣Bahnfotos,␣Bahnbilder,␣Eisenbahnbilder,␣Eisenbahn,␣Fotografie,␣Eisenbahnfotografie,␣Deutschland,␣DB␣AG,␣Deutsche␣Bahn␣AG,␣DB␣Schenker,␣DB␣Regio,␣DB␣Fernverkehr,␣DB␣Netz,␣Bundesbahn␣"␣/>
      <meta␣name="description"␣content="Eisenbahnfotos,␣Webcam,␣Bahnbilder,␣Baureihendatenbank.␣Fotos␣aus␣Eisenbahn␣und␣Industrie.␣Bahnfotos␣aus␣U-Bahn␣Berlin,␣M&uuml;nchen␣und␣Hamburg␣und␣Stationen"␣/>
      <meta␣name="google-site-verification"␣content="AAR8ozhD-3hlIw9jWf5Om0nhWgtG2k6-_qmMGq5LYVY"␣/>
      <meta␣name="google-site-verification"␣content="AAR8ozhD-3hlIw9jWf5Om0nhWgtG2k6-_qmMGq5LYVY"␣/>
      <meta␣name="google-site-verification"␣content="syzIMAsM3JGvl5h72-177CShcf_ht3MBe2hmsg5c1iU"␣/>
      <meta␣name="robots"␣content="index,␣follow">
      <meta␣name="language"␣content="de">
      <meta␣name="alexaVerifyID"␣content="6QfMvVyDKZbX_Fa1twVG7-P7kxA"␣/>
      <script␣src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
      
      <script>
      $(function()␣{
      $('a[href*=#]:not([href=#])').click(function()␣{
      if␣(location.pathname.replace(/^\//,'')␣==␣this.pathname.replace(/^\//,'')␣&&␣location.hostname␣==␣this.hostname)␣{
      
      var␣target␣=␣$(this.hash);
      target␣=␣target.length␣?␣target␣:␣$('[name='␣+␣this.hash.slice(1)␣+']');
      if␣(target.length)␣{
      $('html,body').animate({
      scrollTop:␣target.offset().top
      },␣1000);
      return␣false;
      }
      }
      });
      });
      </script>
      <meta␣http-equiv="Content-Type"␣content="text/html;␣charset=UTF-8"␣/>
      
      <script␣type="text/javascript"␣src="http://www.openlayers.org/api/OpenLayers.js"></script>
      <script␣type="text/javascript">
      //<![CDATA[
      window.onload␣=␣function()␣{
      
      OpenLayers.Lang.setCode('de');
      
      //␣Position␣und␣Zoomstufe␣der␣Karte
      var␣mapLon␣=␣6.641389;
      var␣mapLat␣=␣49.756667;
      var␣mapZoom=␣7;
      
      //␣Markerwerte␣eingestanzt␣vom␣PHP
      var␣pinnlat␣=␣{$positionlat};				//␣******************************
      var␣pinnlon␣=␣{$positionlon};				//␣******************************
      var␣pinnmeldung␣=␣"{$text}";			//␣******************************
      
      var␣map␣=␣new␣OpenLayers.Map('map',␣{
      
      projection:␣new␣OpenLayers.Projection("EPSG:900913"),
      displayProjection:␣new␣OpenLayers.Projection("EPSG:4326"),
      controls:␣[
      new␣OpenLayers.Control.Navigation(),
      new␣OpenLayers.Control.LayerSwitcher(),
      new␣OpenLayers.Control.PanZoomBar()],
      numZoomLevels:␣18
      });
      
      var␣layer_mapnik␣=␣new␣OpenLayers.Layer.OSM("Mapnik");
      
      var␣layer_markers␣=␣new␣OpenLayers.Layer.Markers("Address",␣{
      
      displayInLayerSwitcher:␣true
      });
      
      map.addLayers([layer_mapnik,␣layer_markers]);
      
      //jumpTo(lon,␣lat,␣zoom);
      map.moveTo␣(new␣OpenLayers.LonLat(mapLon,␣mapLat).
      transform(map.displayProjection,␣map.getProjectionObject()),␣mapZoom);
      
      //␣addMarker(layer_markers,␣pinnlon,␣pinnlat,␣pinnmeldung);
      layer_markers.addMarker(new␣OpenLayers.Marker(
      new␣OpenLayers.LonLat(pinnlon,␣pinnlat).
      transform(map.displayProjection,␣map.getProjectionObject())));
      };
      //]]>
      </script>
      </head>
      
      <body>
      <div␣id="top">&#169;2015␣by␣bahnblitze.de&nbsp;&nbsp;</div>
      <div␣id="logo">
      <div␣id="menulogo"><img␣src="icons/logo.png"></div>
      <div␣id="menuintro"><a␣href="index.php">Home</a></div>
      <div␣id="menuhome"><a␣href="sichtungen.php">Bahnblitze␣Sichtungen</a></div>
      <div␣id="menumenu"><a␣href="#baureihenmenu">Sichtungsmeldungen</a></div>
      <div␣id="menuimpressum"><a␣href="impressum.php"␣target="blank">Impressum</a></div>
      </div>
      <div␣id="bild"><div␣id="osm">©␣<a␣href="http://www.openstreetmap.org">OpenStreetMap</a>
      und␣<a␣href="http://www.openstreetmap.org/copyright">Mitwirkende</a>,
      <a␣href="http://creativecommons.org/licenses/by-sa/2.0/deed.de">CC-BY-SA</a>
      </div>
      <div␣id="map"></div>
      </div>
      <div␣id="inhalt">
      <div␣id="box1">
      <b><h2>Herzlich␣Willkommen␣auf␣der␣Sichtungsseite␣von␣Bahnblitze</b></h2>
      <br><br>
      Auf␣diesen␣Seiten␣finden␣Sie␣die␣aktuellen␣Sichtungsmeldungen,␣dargstellt␣in␣Listenform␣und␣auf␣einer
      Live-karte.
      </div>
      
      <div␣id="box2">
      Anbei␣finden␣Sie␣in␣Kürze␣einige␣Angebote␣von␣bahnblitze␣zum␣Thema␣Eisenbahnfotografie
      </div>
      
      </div></div>
      <div␣id="menu">
      <div␣id="menuallgemein"␣align="center">
      <h2><a␣name="baureihenmenu">Sichtungsmeldungen<br><br></a></h2></div>
      
      <div␣id="lp1">
      <h2␣align="center">Sichtungen␣aus␣dem␣Bahnblitzeforum</h2>
      <?php
      $ENABLE_CACHING␣=␣true;␣//Before␣you␣enable␣caching␣set␣the␣CACHE_FILE␣correctly...
      $CACHE_FILE␣=␣'bbnews1.rdf';␣//Where␣to␣store␣the␣cache␣file.␣HAVE␣TO␣BE␣WRITEABLE␣FOR␣THE␣USER-ACCOUNT␣OF␣THE␣WEBSERVER
      $CACHE_REFRESH_TIME␣=␣20;␣//Cache␣timeout␣in␣minutes
      $MAX_NEWS␣=␣10;␣//If␣you␣want␣to␣restrict␣the␣headlines␣you␣can␣do␣it␣here
      
      if␣($ENABLE_CACHING){
      $cache_diff␣=(time()␣-␣@filemtime($CACHE_FILE))/60;
      if␣(!file_exists($CACHE_FILE)␣or␣($cache_diff␣>␣20)␣){
      $fcontents␣=␣join␣('',␣@file␣('http://www.bahnblitze.de/bahnblitzeforum/external.php?action=RSS20'));
      @unlink($CACHE_FILE);
      $handle␣=␣@fopen($CACHE_FILE,␣'x+');
      @fwrite($handle,␣$fcontents);
      @fclose($handle);
      }
      $fcontents␣=␣join␣('',␣@file␣($CACHE_FILE));
      }␣else␣{
      $fcontents␣=␣join␣('',␣@file␣('http://www.bahnblitze.de/bahnblitzeforum/external.php?action=RSS20'));
      }
      $fcontents␣=␣str_replace␣("</item>",␣"",␣$fcontents);
      $fcontents␣=␣str_replace␣("</link>",␣"",␣$fcontents);
      
      $splices␣=␣explode␣("<item>",␣$fcontents);
      
      if␣(count($splices)␣>␣$MAX_NEWS){
      $stop_at␣=␣$MAX_NEWS+1;
      }␣else␣{
      $stop_at␣=␣count($splices);
      }
      
      $out_buffer␣=␣'<span␣class="heisenews">';
      for␣($i␣=␣1;␣$i␣<␣$stop_at;␣$i++){
      $link␣=␣explode("<link>",$splices[$i]);
      $link[1]␣=␣strip_tags($link[1]);
      $headline␣=␣str_replace␣("<title>",␣'<li><a␣href="'␣.␣trim($link[1])␣.␣'"␣target="_blank"␣class="heiseheadline"␣style="color:#D8D8D8;␣font-size:1em;␣text-align:␣center;">',␣$splices[$i]);
      $headline␣=␣str_replace␣("</title>",␣"</a><br></li>",␣$headline);
      $headline␣=␣explode␣("<link>",␣$headline);
      $headline␣=␣$headline[0];
      $out_buffer␣=␣$out_buffer␣.␣$headline␣.␣'<img␣src="1.gif"␣height="20"␣width="1"␣border="0"␣align="top"␣alt=""␣/>';
      }
      $out_buffer␣=␣$out_buffer␣.␣"</span>";
      print␣$out_buffer;
      php?>
      
      </div>
      
      <div␣id="lp3">
      <h2␣align="center">Neuste␣Tourberichte␣vom␣Bahnblitze-Team</h2>
      
      <?php
      $ENABLE_CACHING␣=␣true;␣//Before␣you␣enable␣caching␣set␣the␣CACHE_FILE␣correctly...
      $CACHE_FILE␣=␣'bbnews.rdf';␣//Where␣to␣store␣the␣cache␣file.␣HAVE␣TO␣BE␣WRITEABLE␣FOR␣THE␣USER-ACCOUNT␣OF␣THE␣WEBSERVER
      $CACHE_REFRESH_TIME␣=␣20;␣//Cache␣timeout␣in␣minutes
      $MAX_NEWS␣=␣10;␣//If␣you␣want␣to␣restrict␣the␣headlines␣you␣can␣do␣it␣here
      
      if␣($ENABLE_CACHING){
      $cache_diff␣=(time()␣-␣@filemtime($CACHE_FILE))/60;
      if␣(!file_exists($CACHE_FILE)␣or␣($cache_diff␣>␣20)␣){
      $fcontents␣=␣join␣('',␣@file␣('http://bahnblitze.de/test/?feed=rss2'));
      @unlink($CACHE_FILE);
      $handle␣=␣@fopen($CACHE_FILE,␣'x+');
      @fwrite($handle,␣$fcontents);
      @fclose($handle);
      }
      $fcontents␣=␣join␣('',␣@file␣($CACHE_FILE));
      }␣else␣{
      $fcontents␣=␣join␣('',␣@file␣('http://bahnblitze.de/test/?feed=rss2'));
      }
      $fcontents␣=␣str_replace␣("</item>",␣"",␣$fcontents);
      $fcontents␣=␣str_replace␣("</link>",␣"",␣$fcontents);
      
      $splices␣=␣explode␣("<item>",␣$fcontents);
      
      if␣(count($splices)␣>␣$MAX_NEWS){
      $stop_at␣=␣$MAX_NEWS+1;
      }␣else␣{
      $stop_at␣=␣count($splices);
      }
      
      $out_buffer␣=␣'<span␣class="heisenews">';
      for␣($i␣=␣1;␣$i␣<␣$stop_at;␣$i++){
      $link␣=␣explode("<link>",$splices[$i]);
      $link[1]␣=␣strip_tags($link[1]);
      $headline␣=␣str_replace␣("<title>",␣'<li><a␣href="'␣.␣trim($link[1])␣.␣'"␣target="_blank"␣class="heiseheadline"␣style="color:#D8D8D8;␣font-size:1em;␣text-align:␣center;">',␣$splices[$i]);
      $headline␣=␣str_replace␣("</title>",␣"</a><br></li>",␣$headline);
      $headline␣=␣explode␣("<link>",␣$headline);
      $headline␣=␣$headline[0];
      $out_buffer␣=␣$out_buffer␣.␣$headline␣.␣'<img␣src="1.gif"␣height="20"␣width="1"␣border="0"␣align="top"␣alt=""␣/>';
      }
      $out_buffer␣=␣$out_buffer␣.␣"</span>";
      print␣$out_buffer;
      php?>
      
      </div>
      
      </div>
      <div␣id="copyright"></div>
      
      </body>
      </html>
      ENDOFPAGE;
      //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
      ?>
      

      Unter anderem habe ich versucht, diesen Abschnitt in eine while-Schleife zu schreiben, und sämtliche Datensätze als Array darzustellen. Interessanterweise komt dabei die Fehlermeldung, dass das Zwischenspeicherlimit überschritten ist,
      was aber bei zwei Datensätzen mit jeweils 5 Werten nicht sein kann.

      if␣(mysql_num_rows($result)␣!=1)␣␣{␣die("Nix␣oder␣zuviel␣gefunden.");␣}
      
      list␣($positionlat,␣$positionlon,␣$meldung)␣=␣mysql_fetch_row($result);
      

      wurde ersetzt gegen:

      while($row␣=␣mysql_fetch_array($result))␣{
      
      list␣($positionlat,␣$positionlon,␣$meldung)␣=␣$row;
      }