Mit JavaScript den Inhalt eines aufgerufenen PHP-Scripts auslesen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mit JavaScript den Inhalt eines aufgerufenen PHP-Scripts auslesen?

    Hallo alle zusammen,

    wie der Titel schon sagt, suche ich nach einer Möglichkeit, zur Laufzeit einen speziellen Wert auf meiner Seite zu manipulieren.

    Dabei handelt es sich um eine Prüfung, welche alle 5 Sekunden aufgerufen werden soll und so ablaufen soll:

    Benutzer sitzt vor seinem PC und loggt sich auf seiner Seite ein.

    Im Quelltext gibt es ein Element (z.B. <span name="inhalt">(3)</span>) welches einen "dynamischen" Wert hat. Anfangs zwar einmal ausgelesen bedeutet es aber, dass der Wert sich ständig ändern kann. Dabei soll der Benutzer nicht erst auf einen Link klicken, um die Seite zu aktualisieren. Es soll mittels JavaScript alle X Sekunden ein PHP - Dokument aufgerufen werden, welches die Ausgabe des aktuellen Wertes beinhaltet.
    Beispiel:

    Um 10:00 Uhr loggt sich der User ein. 2 Nachrichten vorhanden
    Um 10:20 Uhr erhält der User eine neue Nachricht, die dringend bearbeitet werden muss. 3 Nachrichten vorhanden.

    Angezeigt werden soll es mit einem akustischen Signal oder sowas...
    Geht soetwas überhaupt?

    Wenn ja, wie?
    Ich konnte keine hilfreichen Informationen darüber im Netz finden.


    Viele Grüße

  • #2
    Das Stichwort lautet Ajax!

    Kommentar


    • #3
      Hey pekka,


      Ich habe vorher nie etwas mit Ajax gemacht (doch... geputzt.. )
      Ne, im ernst: Ich habe folgenden Lösungsansatz (mit einem Problem):


      Code:
             <script type="text/javascript"><!--
               function wert_zeigen(){
                       document.getElementById("1").innerHTML = meintext;
                       }
      
             	function daten_php_js_laden() {
      
             		skript = document.createElement("script");
             		skript.setAttribute("src","notice.js.php");
      		document.getElementsByTagName('BODY')[0].appendChild(skript);
                       window.setTimeout('wert_zeigen()',3000);
                     	}
      
             //--></script>

      Im Html Quelltext habe ich folgendes:

      <span id="1">(0)</span>


      Die PHP Datei notice.js.php spuckt folgendes raus:

      PHP-Code:
      <?php
      header
      ("content-type:text/javascript");

      $text[1] = "Hallo";
      $text[2] = "ich";
      $text[3] = "heiße";
      $text[4] = "david";
      $text[5] = "und";
      $text[6] = "mein";
      $text[7] = "hund";
      $text[8] = "ist";
      $text[9] = "total";
      $text[10] = "doof";

      $no rand(1,10);
      $DaTeN $text[$no];

      echo 
      "var meintext =".'"'.$DaTeN.'";';
      ?>


      Das Problem dabei ist, dass es mal eine Fehlermeldung gibt, und ansonsten gibt er einfach nicht den aktuellen Wert aus. Er wechselt erst die Werte, wenn ich jedes mal die datei aus dem Explorer-Cache lösche.

      Wenn ich ein Datum ranhänge, dann gibt es das Problem, dass ich entweder die Fehlermeldung "meintext ist undefiniert" erhalte, die aktualisierung dann aber "halbwegs" funktioniert. Das alles jedoch mit einem großen Haken!!! =>

      Für jeden Aufruf erstellt er im Cache eine 1kb Datei.... Ich will nicht wissen, was dann nach 8 Stunden Arbeit auf dem PC vorhanden ist... Kann ich das irgendwie verhindern?


      Gruß

      Kommentar


      • #4
        das was du da machst hat nichts mit Ajax (Asynchronous JavaScript and XML) zutun sondern ist dynamisches nachladen von scripten.

        kleiner tipp - fang mit prototyp an - da gibts ne einfache funktion für sowas - dein phpscript brauch dann nur $DaTen ausgeben und das js kann das direkt reinschreiben...
        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

        Kommentar

        Lädt...
        X