Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ajax w Jquery odświeża strone
Forum PHP.pl > Forum > Po stronie przeglądarki
Ardziej
Witam, tak jak w temacie, kod wydaję się ok, ale jednak coś nie tagez.
Generowanie pola do edycji i buttona do zapisywania.
  1. <?php
  2. $sql = "SELECT id, file, name, content, last_update, last_user, last_user_ip FROM siloe ";
  3. mysql_query("SET NAMES utf8");
  4. mysql_query("SET CHARACTER SET utf8");
  5. mysql_query("SET collation_connection = utf8_unicode_ci");
  6. $isql = mysql_query($sql);
  7.  
  8. while ($result = mysql_fetch_row($isql))
  9. {
  10. echo "
  11. <div class=\"sidebar_content\" id=\"$result[1]\">
  12. <form method=\"post\" id=\"form\" name=\"form\" action=\"\">
  13. <input type=\"hidden\" name=\"nazwa\" id=\"nazwa\" value=\"$result[1]\" />
  14. <input type=\"hidden\" name=\"id\" id=\"id\" value=\"$result[0]\" />
  15. <input type=\"hidden\" name=\"user\" id=\"user\" value=\"$user\" />
  16. <input type=\"hidden\" name=\"ip\" id=\"ip\" value=\"$ip\" />
  17. <textarea cols=\"80\" rows=\"40\" name=\"tekst\" id=\"tekst\">$result[3]</textarea>
  18. <br />
  19. <input type=\"submit\" class=\"submit small edit\" value=\"Zapisz\" />
  20.  
  21. <div class=\"message errormsg\" style=\"display:none\"><p>Uzupełnij wszystkie pola !</p></div>
  22. <div class=\"message success\" style=\"display:none\"><p>Dodano pomyślnie !</p></div>
  23.  
  24. </form>
  25. </div>
  26. ";
  27. }
  28. ?>

Plik *.js
  1. $(function() {
  2. $(".edit").click(function() {
  3.  
  4. var nazwa = $("#nazwa").val();
  5. var tekst = $("#tekst").val();
  6. var id = $("#id").val();
  7. var user = $("#user").val();
  8. var ip = $("#ip").val();
  9. var dataString = 'nazwa=' + nazwa + '&tekst=' + tekst + '&id=' + id + '&user=' + user + '&ip=' + ip;
  10.  
  11. $('#flash').fadeOut(200).hide();
  12.  
  13. if(nazwa=='' || tekst=='') {
  14. $('.message success').fadeOut(200).hide();
  15. $('.message errormsg').fadeIn(200).show();
  16. }
  17. else {
  18. $('.message success').fadeIn(200).show();
  19. $('.message errormsg').fadeOut(200).hide();
  20. $("#flash").show();
  21. $("#flash").fadeIn(400).html('<img src="resources/images/ajax-loader.gif" align="absmiddle"> <span class="loading">Wczytywanie...</span>');
  22.  
  23. $.ajax({
  24. type: "POST",
  25. url: "edytuj.php",
  26. data: dataString,
  27. cache: false,
  28. success: function(html){
  29. $('.message success').fadeOut(200).show();
  30. $('.message errormsg').fadeOut(200).hide();
  31. $("#display").after(html);
  32. //$("#showdata").load("tabela.php")
  33. $("#flash").hide();
  34.  
  35. });
  36. } return false;
  37. });
  38. });

i do plik *.php
  1. <?php
  2. $name = $_POST['nazwa'];
  3. $tekst = $_POST['tekst'];
  4. $id = $_POST['id'];
  5. $user = $_POST['user'];
  6. $ip = $_POST['ip'];
  7.  
  8. if($_POST) {
  9. $sql = "UPDATE siloe SET content = '$tekst', last_update = NOW(), last_user = '$user' last_user_ip ='$ip' WHERE id='$id'";
  10. mysql_query("SET NAMES utf8");
  11. mysql_query("SET CHARACTER SET utf8");
  12. mysql_query("SET collation_connection = utf8_polish_ci");
  13.  
  14. $isql = mysql_query($sql);
  15.  
  16. if($isql) {
  17. echo "Rekord został dodany poprawnie";
  18. $tosave = $tekst;
  19. $tosave = str_replace("\r\n", "\n", $tosave);
  20. // przypisanie zmniennej $file nazwy pliku
  21. $file = 'text/'$name'.txt';
  22. // uchwyt pliku, otwarcie do dopisania
  23. $fp = fopen($file, "w");
  24. // blokada pliku do zapisu
  25. flock($fp, 2);
  26. // zapisanie danych do pliku
  27. fwrite($fp, $tosave);
  28. // odblokowanie pliku
  29. flock($fp, 3);
  30. // zamknięcie pliku
  31. fclose($fp);
  32. echo"zapisano OK!";
  33. }
  34. else {
  35. echo "Błąd nie udało się dodać nowego rekordu";
  36. }
  37. }
  38. ?>

Pozdrawiam serdecznie i liczę na pomoc smile.gif
fleshgrinder
Nie masz zamkniętej funkcji przypisanej do success w metodzie $.ajax.

Polecam jakiś edytor podświetlający miejsca otwarcia i zamknięcia nawiasów, a do debugowania JS narzędzia takie, jak np. Firebug (obecnie nie wyobrażam sobie pisania frontendu bez niego) i jego konsola smile.gif
Ardziej
Dzięki, jednak godzina swoje robi.
Pozdrawiam serdecznie i dziękuje smile.gif
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.