Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML] Zapisywanie zawartości textarea do pliku .txt
Forum PHP.pl > Forum > Przedszkole
miki3475
Witam, ostatnimi czasy pracuję nad pewnym skryptem, który sprawdza moje konta [na pewnym serwisie] czy są nadal aktualne. Wszystko już działa poprawnie. (Skrypt znaleziony w sieci + parę moich prostych poprawek).
Z powodu częstego formata kompa (tak raz na tydzień/dwa) - sprawa nie zależna ode mnie. Chciałbym, aby po wpisaniu danych do textarea zostały one zapisane do pliku .txt.

Oto kod z index.php:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  3. <title>Tytul</title>
  4. <style type="text/css">
  5. <!--
  6. body {
  7. background-color: #000000;
  8. }
  9. body,td,th {
  10. color: #FFFFFF;
  11. }
  12. -->
  13. <script type="text/javascript" language="javascript" src="rsajax.js"></script>
  14. </head>
  15.  
  16. <div align="center"><h2>Sprawdzacz kont</h2>
  17. <form action="javascript:get(document.getElementById('acctform'));" name="acctform" id="acctform">
  18. <p>
  19. <textarea rows="1" cols="1" style="width: 50%; height: 140px" id="accounts"></textarea>
  20. <br />username : password</p><p>
  21. <input type="submit" name="button" value="Sprawdz konta" onclick="return Tab_Click(this)">
  22. </form>
  23. </p>
  24. <div align=\"center\">
  25. <div id="waiting"></div>
  26. <p>
  27. <div id="showresults"></div>
  28. </div>


Zanim stworzyłem temat, przeszukałem skrawek sieci i niestety wszystko opierało się na /post, a w ten sposób skrypt nie działa jak powinien, bo w końcu przenosi do adres.pl/post.php itp.

Z góry dzięki za pomoc winksmiley.jpg
Zyx
Ja tu żadnego kodu PHP nie widzę. Wywal ten cały Javascript, bo on jest do niczego niepotrzebny, daj normalny URL w atrybucie "post", w tamtym skrypcie napisz cokolwiek między znacznikami <?php oraz ?>, a najlepiej, by odebrało dane z formularza i je zapisało na wskazany plik.

Oczywiście to zapisze dane na dysk serwera. Na dysk użytkownika z poziomu przeglądarki nic nie zapiszesz, chyba że dasz sobie możliwość późniejszego ściągnięcia.
webdice
Najprościej. Resztę ewentualnie dopiszesz sobie sam.

  1. <?php
  2.  
  3. if (empty ($_POST))
  4. {
  5.  
  6. ?>
  7.  
  8. <form action="" method="post">
  9.    <textarea name="Content"></textarea>
  10.    <input type="submit" value="OK" />
  11. </form>
  12.  
  13. <?php
  14.  
  15. }
  16. else
  17. {
  18.    file_put_contents ('plik.txt', $_POST['Content']);
  19. }
  20.  
  21. ?>
miki3475
Wszystko działa super, aczkolwiek musiałem wywalić Ajax'a, teraz 'nie ładnie' się wyświetla, u tu moje pytanie, czy jest możliwość edycji powyższego skryptu, aby zapisywał dane i działał pięknie z Ajax'em?

index.php
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  3. <title>zxc</title>
  4. <style type="text/css">
  5. <!--
  6. body {
  7. background-color: #000000;
  8. }
  9. body,td,th {
  10. color: #FFFFFF;
  11. }
  12. -->
  13. <script type="text/javascript" language="javascript" src="ajax.js"></script>
  14. </head>
  15.  
  16. <div align="center"><h2>Skrypt</h2>
  17. <form action="javascript:get(document.getElementById('acctform'));" name="acctform" id="acctform">
  18. <p>
  19. <textarea rows="1" cols="1" style="width: 50%; height: 140px" id="accounts"></textarea>
  20. <br />username : password</p><p>
  21. <input type="submit" name="button" value="Sprawdz" onclick="return Tab_Click(this)">
  22. </form>
  23. </p>
  24. <div align=\"center\">
  25. <div id="waiting"></div>
  26. <p>
  27. <div id="showresults"></div>
  28. </div>
  29. </html>


ajax.js
  1. var http_request = false;
  2. function makePOSTRequest(url, parameters) {
  3. http_request = false;
  4. if (window.XMLHttpRequest) {
  5. http_request = new XMLHttpRequest();
  6. if (http_request.overrideMimeType) {
  7. http_request.overrideMimeType('text/html');
  8. }
  9. } else if (window.ActiveXObject) {
  10. try {
  11. http_request = new ActiveXObject("Msxml2.XMLHTTP");
  12. } catch (e) {
  13. try {
  14. http_request = new ActiveXObject("Microsoft.XMLHTTP");
  15. } catch (e) {}
  16. }
  17. }
  18. if (!http_request) {
  19. alert('Cannot create XMLHTTP instance');
  20. return false;
  21. }
  22.  
  23. http_request.onreadystatechange = alertContents;
  24. http_request.open('POST', url, true);
  25. http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  26. http_request.setRequestHeader("Content-length", parameters.length);
  27. http_request.setRequestHeader("Connection", "close");
  28. http_request.send(parameters);
  29. }
  30.  
  31. function alertContents() {
  32. if (http_request.readyState == 4) {
  33. if (http_request.status == 200) {
  34. result = http_request.responseText;
  35. document.getElementById('waiting').innerHTML = '';
  36. document.getElementById('showresults').innerHTML = result;
  37. } else {
  38. alert('There was a problem with the request.');
  39. }
  40. }else{
  41. document.getElementById('waiting').innerHTML = '<img src="loading.gif">';}
  42. }
  43.  
  44. function get(obj) {
  45. var poststr = "accounts=" + encodeURI( document.getElementById("accounts").value );
  46. makePOSTRequest('skrypt.php', poststr);
  47. }


skrypt.php
  1. <?php    
  2. if (isset ($_POST['accounts'])) {
  3.             set_time_limit(0);
  4.             $dtaaccounts = nl2br($dtaaccounts);
  5.             $dtaaccounts = explode("\n", $_POST['accounts']);
  6.             //Header
  7.             echo "<table font-size=1 width=\"90%\" border=1 cellspacing=\"0\" cellpadding=\"5\">".
  8.         "<tr><th>Username</th><th>Password</th><th>Email</th><th>Points</th><th>TrafficShare</th><th>Traffic left</th><th>Traffic (+)</th><th>Used storage</th><th>Validity</th><th>Security Lock</th></tr>";
  9.  
  10. [i]dalej reszta kodu[/i], [i]ale on już potrzebny nie będzie[/i]
  11. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.