Sfky: Mit PHP auf innerText zugreifen

ich wollte mit php auf ein div-tag zugreifen. Hier der Code:

<?php
lese();
function lese()
{
$text = "chat.txt";
$datei = file($text);
$zaehler = count($datei)-1;
echo "<script language="javascript">chaten.innerText = $datei[$zaehler]</script>";
}
?>
<div id="chaten">sdffasd</div>

das geht auch nciht

<?php
lese();
function lese()
{
$text = "chat.txt";
$datei = file($text);
$zaehler = count($datei)-1;
echo "<script language="javascript">chaten.innerText = $hallo</script>";
}
?>
<div id="chaten">sdffasd</div>

was kann ich da machen?
kann ich ueberhaupt was machen?
danke

  1. Hallo Sfky, (<- Begrüßung!)

    ich wollte mit php auf ein div-tag zugreifen.

    Das scheitert allein schon daran, dass, wenn du das Div siehst, PHP (idR) nichts
    mehr zu melden hat.

    was kann ich da machen?

    Eine sinnvolle Fehlerbeschriebung posten, Debug-Ausgaben/-Versuche.

    Grüße
      David

    --
    >>Nobody will ever need more than 640k RAM!<<
    1981 Bill Gates
    1. Ein Chat ist nicht mal so zu unterschätzen - hole dir einen fertigen und beginne doch mit einfacheren Sachen... dann wirst du die Sachen und Beziehungen selbst verstehen. Zur Veranschaulichung nochmals:

      Wir haben einen Client mit einem Browser der eine Ressource mit dem URL anfordert.

      Wir haben einen Server, der für PHP konfiguriert ist (=PHP ausführen kann).

      Der Client kontaktiert nun den Server und fordert eine Ressource an - der Server holt nun die zugehörige Datei und zieht sie durch seinen PHP-Interpreter, dabei führt er alle PHP-Befehle drin aus - HTML-Tags sind ihm dort egal. Nach diesem "Durchziehen"/Parsen entsteht eine Datei ohne PHP-Code-Anweisungen. Diese wird an den Browser gesendet, wo lokal die ganzen JavaScript-Geschichten usw. ausgeführt werden.

      Zum Zeitpunkt der Ausführung von PHP ist der Browser und seine Arbeit noch in weiter Ferne. Wenn der Browser aber das JavaScript etc. ausführt, ist die PHP-Verarbeitung längst Vergangenheit.

      HTH
      Phoneuz

  2. moin!

    eine ganz kleine frage: wieso willst du auf den div-tag zugreifen? steht der in einer anderen datei oder was? ist sehr mager was du uns da gegeben hast.

    tschau

    1. also der debugger sagt: chaten ist undefined
      tut mir leid ich kann nciht wirlich php.
      also ich hab mir gedacht "ich mach einen chat" dabei soll die ganze zeit der text einer datei angegeben werden. aber ich will nicht dass immer mehr text sondern nur einmal. Deswegen das mit dem innerText.
      ich hoffe ihr habt das verstanden.

      1. Hallo,

        also der debugger sagt: chaten ist undefined

        klar, ist ja auch noch gar nicht geladen.

        tut mir leid ich kann nciht wirlich php.

        das merkt man...

        also ich hab mir gedacht "ich mach einen chat"

        ...und da schreibst Du natürlich als erstes mal eben einen Chat - ne is klar ;)

        Gruß, Andreas

  3. Hallo Sfky,

    vorweg: Tut mir leid, dass es dich trifft, aber es muss halt jetzt mal raus, also nimm es nicht (allzu) persönlich...

    HEILIGER GOTTFRIED NOCHMAL, KANN ENDLICH MAL JEMAND ALLEN PHP-CODERN DA DRAUSSEN DIE PHP FÜR DAS EINZIGE MITTEL HALTEN, WEBINHALTE ZUM CLIENT ZU KRIEGEN, ERKLÄREN, DASS ES BITTESCHÖN AUF DEM SERVER LÄUFT UND MIT HTML UND ALL DEM ZEUG _AUF DEM CLIENT_ EINEN DRECK ZU TUN HAT, JA????

    ICH FORDERE EIN PHP-NUTZVERBOT FÜR ALLE DIE NICHT NACHWEISEN KÖNNEN, DASS SIE WISSEN, WAS EINE CLIENT-SERVER-BEZIEHUNG IST UND DIE HTML FÜR EINE PHP-ERWEITERUNG HALTEN!!!111

    Entschuldigt bitte.

    Grüße aus Barsinghausen,
    Fabian

    1. Hallo Fabian,

      ...KANN ENDLICH MAL JEMAND ALLEN PHP-CODERN DA DRAUSSEN DIE PHP FÜR DAS EINZIGE MITTEL HALTEN, WEBINHALTE ZUM CLIENT ZU KRIEGEN, ERKLÄREN, DASS ES BITTESCHÖN AUF DEM SERVER LÄUFT UND MIT HTML UND ALL DEM ZEUG _AUF DEM CLIENT_ EINEN DRECK ZU TUN HAT, JA????

      also gut:
      an alle PHP-Coder da draussen: PHP läuft auf dem Server und hat mit HTML und all dem Zeug auf dem Client einen Dreck zu tun ;)

      [...]111

      was ist denn 111 ?

      Gruß, Andreas

      1. Hallo Andreas,

        ...KANN ENDLICH MAL JEMAND ALLEN PHP-CODERN DA DRAUSSEN DIE PHP FÜR DAS EINZIGE MITTEL HALTEN, WEBINHALTE ZUM CLIENT ZU KRIEGEN, ERKLÄREN, DASS ES BITTESCHÖN AUF DEM SERVER LÄUFT UND MIT HTML UND ALL DEM ZEUG _AUF DEM CLIENT_ EINEN DRECK ZU TUN HAT, JA????

        also gut:
        an alle PHP-Coder da draussen: PHP läuft auf dem Server und hat mit HTML und all dem Zeug auf dem Client einen Dreck zu tun ;)

        Das Problem ist, dass sie auf dich wohl ebensowenig hören, wie auf mich *seufz*

        [...]111
        was ist denn 111 ?

        Das sind drei !!!, die leider entstellt geboren wurden, da ihre Mutter, die Shift-Taste bereits tot war. *g*

        Grüße aus Barsinghausen,
        Fabian
        [schon etwas ruhiger]

        1. Das sind drei !!!, die leider entstellt geboren wurden, da ihre Mutter, die Shift-Taste bereits tot war. *g*
          [schon etwas ruhiger]

          klar, wenn man die Schuldige erstmal erlegt hat... ;)

          Gruß, Andreas

    2. Hallo!
      Client-Server-verbindung. Ich weiß sogar was das ist. Da gibts diese beruehmte Ábbildung. ich hab nur nicht gedacht dass es daran liegt.

      Ich kann mir das noch immer ncith vorstellen aber ich glaubs.

    3. HEILIGER GOTTFRIED NOCHMAL, KANN ENDLICH MAL JEMAND ALLEN PHP-CODERN DA DRAUSSEN DIE PHP FÜR DAS EINZIGE MITTEL HALTEN, WEBINHALTE ZUM CLIENT ZU KRIEGEN, ERKLÄREN, DASS ES BITTESCHÖN AUF DEM SERVER LÄUFT UND MIT HTML UND ALL DEM ZEUG _AUF DEM CLIENT_ EINEN DRECK ZU TUN HAT, JA????

      Bitte mäßige Deine Ausdrucksweise und die Erscheinungsform Deiner Postings. Wenn Du frustriert bist, dann lass es bitte nicht hier aus.

    4. Hi Fabian!

      Entspann Dich, woher soll das jedermann wissen? Irgendwie hat jeder mal angefangen, und da entstehen schonmal Missverständnisse.

      Folgende Links sind beispielsweise ganz hilfreich:

      http://www.dclp-faq.de/q/q-web-server-client.html
      http://www.php.net/manual/de/introduction.php#intro-whatis

      Zumindest wenn man sich die Seiten wirklich durchliest und nicht nur schnell überfliegt.

      Grüße
      Andreas

      1. Hallo Andreas,

        Entspann Dich, woher soll das jedermann wissen? Irgendwie hat jeder mal angefangen, und da entstehen schonmal Missverständnisse.

        Naja, aber bevor ich nicht verstehe, was PHP macht, kann ich mir nicht anmaßen, einen Chat(!) damit Programmieren zu wollen. Aber gut, ich werde in Zukunft die angeborene, anfängerliche Grandiosität anerkennen und statt zu posten nur noch erführchtig virtuell mit dem Kopf schütteln. *seufz*

        wahsaga hat das erst vorgestern zutreffend beschrieben, leider find ich's momentan nicht.

        Folgende Links sind beispielsweise ganz hilfreich:

        http://www.dclp-faq.de/q/q-web-server-client.html
        http://www.php.net/manual/de/introduction.php#intro-whatis

        Zumindest wenn man sich die Seiten wirklich durchliest und nicht nur schnell überfliegt.

        Und das erwartest du?

        Grüße aus Barsinghausen,
        Fabian

        1. hi,

          wahsaga hat das erst vorgestern zutreffend beschrieben, leider find ich's momentan nicht.

          ich vermute, du meinst [pref:t=53848&m=299117]?

          gruss,
          wahsaga

          1. Hi,

            wahsaga hat das erst vorgestern zutreffend beschrieben, leider find ich's momentan nicht.
            ich vermute, du meinst [pref:t=53848&m=299117]?

            Ja, danke dir.

            Grüße aus Barsinghausen,
            Fabian

  4. Hallo ...,

    wenn Deine Seite geladen wird, wird erst das JavaScript geladen, ausgeführt (falls es denn ginge) und DANN erst das Div geladen.
    wenn schon:

    • schreibe eine vernünftige Seite (<html>...</html>)
    • JavaScript-Teil als Funktion in den Head
    • Funktionsaufruf mit onLoad() im Body-Tag

    aber:

    die ganze Konstruktion ist Banane. Warum schreibst Du nicht mit echo den gewünschten Wert direkt in das Div?

    Gruß, Andreas

  5. <?php
     $text = "chat.txt";
     $datei = file($text);
     $zaehler = count($datei) - 1;
     print "<div id="chaten">$datei[$zaehler]</div>";
    ?>

    oder im Head der HTML-Seite:

    <?php
     $text = "chat.txt";
     $datei = file($text);
     $zaehler = count($datei) - 1;
     print "<script language="javascript">";
     print "function init()";
     print "{";
     print " chaten.innerText = "$datei[$zaehler]"";
     print "}";
     print "</script>";
    ?>

    und:

    <body onload="init();">
    <div id="chaten">sdffasd</div>