Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Edycja pliku PHP Ajaxem
Forum PHP.pl > Forum > XML, AJAX
reyne
Witam, edytuję plik PHP ajaxem w formularzu, dla przykładu uproszczona wersja:

plik aktualizuj.html

  1.  
  2. <script type="text/javascript">
  3. $("#save").click(function() { update_file(); }
  4. var main_domain = 'http://mojastrona.pl';
  5. function update_file() {
  6. var update_fil = $("#update-file").val(); // pole z zawartością pliku PHP
  7. $.ajax({
  8. type: "POST",
  9. url: ''+ main_domain +'/ajax/edit.php',
  10. data: { update_fil: update_fil }
  11. });
  12. }
  13. </script>
  14. <textarea id="update-file">
  15. tutaj wpisuję zawartość jakiegoś pliku php, np:
  16. <?php
  17. include "db.php";
  18.  
  19. echo "to mój plik";
  20. ?>
  21. </textarea>
  22. <button id="save">Zapisz</button>


plik ajax/edit.php (uproszczony przykład)

  1. <?php
  2. $data = $_GET['update_fil'];
  3. $file = "".$_SERVER['DOCUMENT_ROOT']."/edytowany_plik.php";
  4. $handle = fopen($file, 'w') or die('cannot open file '.$file);
  5. $update = fwrite($handle, $data);
  6. fclose($handle);
  7. ?>


Wszystko fajnie działa tylko javascript automatycznie dodaje mi slashe przed cudzysłowia w wyedytowanym pliku, w związku z czym plik zapisuje się ale w błędny sposób (wszędzie gdzie cudzysłów w pliku tam zostaje dodany slash). Wiem, że problem leży w ajaxie, plik php odpowiedzialny za odebranie danych z ajaxa (ajax/edit.php) mam ok, wie ktoś jak to rozwiązać?
Turson
  1. <textarea id="update-file">
  2. lorem ipsum
  3. <button id="save">Zapisz</button>
  4. $('#save').click(function() {
  5. var dane = $('#update-file').val();
  6. $.ajax({
  7. type: "POST",
  8. url: 'plik.php',
  9. data: { dane: dane }
  10. });
  11. });

  1. <?php
  2. file_put_contents('plik.txt', $_POST['dane']);
reyne
zmiana sposobu aktualizowania danych nic nie daje bo jquery dalej wysyła dane z #update-file ze slashami przed cudzysłowiami
Turson
Pewnie masz włączone magic quotes
reyne
Ale ze mnie.. wink.gif Dzięki !
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.