[JavaScript] JS und PHP kombinieren - nur wie?

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Nemesis Force, 26. Dezember 2008 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 26. Dezember 2008
    JS und PHP kombinieren - nur wie?

    Hallo,
    also ich habe jetzt die Lösung, allerdings nicht die ganze, sondern nur die Hälfte. Ich möchte mit folgender JS-Funktion:

    HTML:
    <script language="JavaScript">
    function read_chatlog () {
    document.display.logfile.value= "hier kommt eigentlich der inhalt einer datei";
    Timer = setTimeout('read_chatlog()' , 1000);
    }
    </script>
    ...eine Datei in folgendem HTML-Code ausgeben:

    HTML:
    <form name="display">
    <input type="text" name="logfile" style="width:98%;" class="display"></form>
    Die Ausgabe von normalen Text usw. funktioniert, nur möchte ich den Inhalt einer Datei dort ausgeben (Bsp.: text.txt) - allerdings funktioniert das mit der PHP-Funktion "INCLUDE" nicht, da ja PHP Serverseitig läuft und JS Clientseitig...

    Welche Lösung würdet ihr mir vorschlagen? Danke schonmal für hilfreiche Antworten!
     
  2. 26. Dezember 2008
    AW: JS und PHP kombinieren - nur wie?

    Ich versteh nicht genau was du gerade willst. Du willst mit einer Javascript funktion den Input Text füllen und zwar mit einem Text aus einer Datei?

    Wenn ja.

    HTML:
    <?php include('text.txt');?>
    <script language="JavaScript"> function read_chatlog () { document.display.logfile.value= "<? echo $variable_aus_text.txt;?>"; Timer = setTimeout('read_chatlog()' , 1000); } </script>
    
    Dazu solltest du dir angewöhnen den type zu definieren
    HTML:
    <script type="text/javascript" language="JavaScript">
    language ist aber nicht zwingend notwendig.
     
  3. 26. Dezember 2008
    AW: JS und PHP kombinieren - nur wie?

    So wie ich das verstanden hab, will er den Inhalt der Textdatei nachladen, wenn die Webseite bereits geöffnet ist.

    Probiers doch mal mit AJAX (Tutorials gibts bei Google, is net schwer). Du hättest dann eine PHP-Datei, die den Inhalt der Textdatei ausliest und eben ausgibt. Diese PHP-Datei rufst du per AJAX in JavaScript auf und hast in ner JavaScript-Variable den Inhalt. Den kannst du dann in document.display.logfile.value schreiben.

    Ich hoff, dass du es so gemeint hast..^^
     
  4. 26. Dezember 2008
    AW: JS und PHP kombinieren - nur wie?

    Ja, ich möchte den Text einer TXT-Datei in einem Input ausgeben... (die Ausgabe hab ich, fehlt nur das includieren) - mit deinem Code komm ich nicht ganz so zurecht. ?(

    Warum?
    HTML:
    <?php include('text.txt');?>
    Ich will die Datei doch nicht vorher schon includieren...

    Was ist das?
    HTML:
    <? echo $variable_aus_text.txt;?>
    Wo wird diese Variable denn definiert?

    Bewertung hast du trotzdem!

    ~edit: ...da war jemand schneller, aber mit AJAX kenn ich mich überhaupt nicht aus!
     
  5. 26. Dezember 2008
    AW: JS und PHP kombinieren - nur wie?

    Hm okay fragen wir mal so. Möchtest du einen Chat programmieren?
    Wenn ja geht das ganze nur über die Methode die Gibbon gesagt hat. Das geht nur per Ajax.



    Hab dich dann eben falsch verstanden. Ich dachte Der Text in der text.txt wäre definiert mit
    was auch immer $test='blablabla';

    Was ist das denn für ein Text, den du in ein Input Feld füllen willst?
    Ich versteh den Sinn von deinem Vorhaben nicht so wirklich.

    Wieso kommt der Text aus einer text.txt Datei?
     
  6. 26. Dezember 2008
    AW: JS und PHP kombinieren - nur wie?

    =) Ja, du hast mich durchschaut - ich möchte einen kleinen Chat programmieren, bin auch schon soweit das der User seine Eingabe macht und das alles in einer text.txt gespeichert wird. Diese Textdatei soll nun ausgegeben werden und die JS-Funktion:

    HTML:
    <script type="text/javascript" language="JavaScript">
    function read_chatlog () {
    document.getElementById('logfile').innerHTML = "ausgabe der text.txt";
    Timer = setTimeout('read_chatlog()' , 1000);
    }
    </script>
    ...soll dafür sorgen das ein refresh der seite nicht von Nöten ist - denn mit diesem Problem hab ich mich schon gestern Nacht herum geschlagen und heute eine halbwegs vernüftige Lösung gefunden.

    Gibt es denn bei JS keine "INCLUDE"-Funktion so wie bei PHP oder etwas in die Richtung, dass ich eine Datei einfach so auslesen kann?
     
  7. 26. Dezember 2008
    AW: JS und PHP kombinieren - nur wie?

    Hab hier mal ein Beispiel geschrieben.

    JavaScript-Code fürs AJAX (da wo es rot is, muss z. B. document.display.logfile.value = req.responseText rein)

    Code:
    <script type="text/javascript">
     try
     {
     req = new XMLHttpRequest();
     }
     catch (e)
     {
     try
     {
     req = new ActiveXObject("Msxml2.XMLHTTP");
     } 
     catch (e)
     {
     try
     {
     req = new ActiveXObject("Microsoft.XMLHTTP");
     } 
     catch (failed)
     {
     req = null;
     }
     } 
     }
     
     function GetFileContent()
     { 
     // get_content.php aufrufen
     req.open("GET", 'get_content.php', true); 
     req.send(null);
     
     // Funktion definieren, die bei Statusänderung des AJAX-Objekts aufgerufen wird
     req.onreadystatechange = function()
     { 
     switch(req.readyState)
     {
     case 4:
     if(req.status == 200) // Erfolg
     { 
     [COLOR="Red"]alert(req.responseText); // Hier dein Code, wo der Text des Inputs gesetzt wird[/COLOR]
     }
     
     break;
     
     default:
     return false;
     break; 
     }
     };
     }
    </script>
    
    Hier der Code der get_content.php (Dateinamen musste halt anpassen):

    PHP:
    <? php
        $fcontent 
    file_get_contents ( "textdatei.txt" );
        
        echo 
    $fcontent ;
    ?>
    Im Prinzip funktioniert das so:

    1. Aufruf von GetFileContent()
    2. es wird ein HTTP-Request an die get_content.php geschickt, die gibt den Inhalt der Textdatei zurück
    3. Inhalt wird ins Input geschrieben.

    Der Vorteil von AJAX ist, wie gesagt, dass du nicht immer die Seite neu laden musst.
    Die Funktion GetFileContent() kannst du dann eben z. B. mit einem window.setTimeout('GetFileContent()', 10000) aufrufen.

    //

    Nein, einen Include-Befehl gibt es in JavaScript net, weil damit keine Dateizugriffe möglich sind.
     
  8. 26. Dezember 2008
    AW: JS und PHP kombinieren - nur wie?

    BOAAAHH!!! Danke dir - Tausend Dank!!!!!

    ~closed
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.