Witam,

Otóż napotkałem sie z pewnym problemem.

Posiadam skrypt do wysyłania formularza bez odświerznia strony,
wszystko działa ładnie, jednak gdy wywołuje skrypt z bazydanych a nie z osobnego folderu to skrypt restartuje strone.

Skrypt:
  1. <script src="http://code.jquery.com/jquery-latest.js"></script>
  2.  
  3. <form id="formularz">
  4. Przedmiot:<select name="przedmiot"><option selected="selected">Matematyka</option><option>Fizyka</option><option>Polski</option><option>Angielski</option><option>Niemiecki</option><option>Historia</option><option>WOS</option><option>Informatyka</option></select>
  5. <br>Tytuł:<input type="text" name="tytul" />
  6. <br>Treść:<textarea name="tresc" cols="50" rows="10">Proszę wpisz tutaj tresc</textarea><br>*możliwość dodawnia kodu HTML<br>
  7. <input type="submit" />
  8. </form>
  9.  
  10. <script type="text/javascript">
  11. function getFormValues(fobj) {
  12.  
  13. var str = "";
  14. var obj = '' ;
  15. for(var i = 0;i < fobj.elements.length;i++) {
  16. obj = fobj.elements[i] ;
  17. switch(obj.type){
  18. case "text":
  19. str += obj.name + "=" + escape(obj.value) + "&";
  20. break;
  21. case "textarea":
  22. str += obj.name + "=" + escape(obj.value) + "&" ;
  23. break;
  24. case "hidden":
  25. str += obj.name + "=" + escape(obj.value) + "&";
  26. break ;
  27. case "select-one":
  28. str += obj.name + "=" + obj.options[obj.selectedIndex].value + "&";
  29. break;
  30. }
  31. }
  32. str = str.substr(0,(str.length - 1));
  33. return str;
  34. }
  35.  
  36. function wyslij() {
  37. f = $("#formularz") ;
  38. txt = getFormValues( f[0] ) ;
  39. txt = escape( txt ) ;
  40. $.ajax( {
  41. type: "POST",
  42. url: "skrypt.php",
  43. data: "txt="+txt,
  44. success: function(result) {
  45. odbierz_dane( result ) ;
  46. }
  47. } ) ;
  48. return false ;
  49. }
  50.  
  51. function odbierz_dane( txt ) {
  52. alert( txt ) ;
  53. }
  54.  
  55.  
  56.  
  57. $(document).ready( function() {
  58. $("#formularz").submit( wyslij ) ;
  59. }) ;
  60. </script>


Odbieranie:

  1. <?
  2.  
  3.  
  4. $txt = $_POST['txt'] ;
  5. $str = explode( "&", $txt ) ;
  6. $post = array() ;
  7. $c = count( $str ) ;
  8. for( $a = 0 ; $a < $c ; $a++ ) {
  9. $ent = explode( "=", $str[$a] ) ;
  10. // $ent[0] - nazwa pola
  11. // $ent[1] - wpisana wartość
  12. $post[$ent[0]] = urldecode( $ent[1] ) ;
  13. }
  14. require "config.php";
  15. connection();
  16.  
  17. $data = date('Y-m-d');
  18. $query = "insert into artykuly SET tresc='$post[tresc]', tytul= '$post[tytul]'";
  19. $result = mysql_query( $query ) ;
  20.  
  21. if( $result ) {
  22. $id = mysql_insert_id() ;
  23. $query2 = "insert into zadania SET tytul= '$post[tytul]', przedmiot= '$post[przedmiot]', data_rejstacji= '$data', idzad= '$id'";
  24. $result = mysql_query( $query2 ) ;
  25.  
  26.  
  27. }
  28. echo "Zapytanie Zostało Wykonane!";
  29.  
  30. ?>



dodam za strona na której z mysql wyświetla ten skrypt jest wywołana w AJAX