Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przekazywanie parametru POST
e-y-e
post 28.09.2010, 22:48:16
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 15.07.2010

Ostrzeżenie: (0%)
-----


Na mojej stronie głównej mam textarea chcę go zapisać do bazy danych. W tym celu wywołuję kilka funkcji które znajdują się w kilku plikach. Problem polega na tym że gdy odczytuję parametr z tablicy $_POST to jest pusty. Do bazy zostaje zapisany pusty rekord. Korzystam z gotowych przykładów z książki AJAX i PHP. Spędziłem kilka godzin szukając rozwiązania mojego problemu nie znalazłem dlatego zwracam się o pomoc do Was.




  1. function startRequest()
  2. {
  3. var url = "save.php";
  4. var params = '';
  5. var tekst = document.getElementById("tresc").value;
  6. var btn1 = document.getElementById("btn1");
  7.  
  8.  
  9. //btn1.value = tresc.innerHTML;
  10.  
  11. btn1.disabled = true;
  12. params = "db_text=" + encodeURIComponent(tekst);
  13.  
  14. alert(params)
  15. startPOSTRequest(url, params, onComplete, onEnd);
  16. btn1.disabled = false;
  17. }


  1. function startPOSTRequest(url, params, onComplete, onEnd)
  2. {
  3. var XMLHttpRequestObject = getXMLHttpRequestObject();
  4. if(XMLHttpRequestObject){
  5. XMLHttpRequestObject.open("POST", url);
  6. XMLHttpRequestObject.setRequestHeader('Content-Type' , 'application/x-www-form-urlencoded');
  7. XMLHttpRequestObject.onreadystatechange = function ()
  8. {
  9. if(XMLHttpRequestObject.readyState == 4){
  10. if(XMLHttpRequestObject.status == 200){
  11. var responseXML = XMLHttpRequestObject.responseXML;
  12. var responseText = XMLHttpRequestObject.responseText;
  13. onComplete(responseText, responseXML);
  14. }
  15. delete XMLHttpRequestObject;
  16. onEnd();
  17. }
  18. }
  19. alert(params);
  20. XMLHttpRequestObject.send(params);
  21. }
  22. }


  1. <?php
  2.  
  3. $link = mysql_connect('' , '' , '') or die("nie udało się połączyć z bazą"); //połączenie z bazą danych
  4.  
  5.  
  6. $db_id = '';
  7. $db_link_nr = '1'; //link_nr - numer linku (strona główna ma numer 1)
  8. $db_desc = 'Strona główna'; //desc - opis pola (strona główna)
  9. $db_text = $_POST['db_text']; //text - to co będzie widoczne na stronie
  10. $db_data = ''; //data - data zapisania rekordu
  11.  
  12. $db_selected = mysql_select_db('westerplatte_cba_pl');
  13. if(!$db_selected)
  14. {
  15. die('Nie można ustawić: ' .mysql_error());
  16. }
  17.  
  18.  
  19.  
  20.  
  21. $zapytanie = "INSERT INTO `main`(`id`, `link_nr`, `desc`, `text`, `data`) VALUES
  22. ('$db_id', '$db_link_nr', '$db_desc', '$db_text', '$db_data')";
  23. mysql_query($zapytanie) or die(mysql_error());
  24.  
  25.  
  26. mysql_close($link); //zamykam baze
  27.  
  28. ?>


Go to the top of the page
+Quote Post
wiiir
post 1.10.2010, 08:56:39
Post #2





Grupa: Zarejestrowani
Postów: 260
Pomógł: 34
Dołączył: 22.02.2010

Ostrzeżenie: (0%)
-----


zainstaluj sobie firebuga i zobacz w konsoli jakie parametry wysylasz a wlasciwie ich wartosc..

PS Korzystaj z gotowych rzeczy jak jquery.ajax(), bo takie rzeczy sie rzezbilo jak ajax zaczynal sie pojawiac smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.06.2025 - 06:16