Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [TinyMCE][AJAX]Przesyłanie danych do PHP i zapisanie w MySQL
tlaguz
post
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 5.01.2009

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


Witam.

Mam następujący problem.
Tworzę przycisk w HTML i w zdarzeniu onclick mam wywołanie funkcji AJAX która to wywołuje skrypt PHP z parametrem POST w którym TEOREtYCZNIE znajduje się zawartość TinyMCE. Z TinyMCE zawartość pobierałem na różne sposoby (m.in. przez innerHTML oraz przez "var x=tinyMCE.get('nazwa').getContent();")

Zawsze jednak PHP odbiera pustą zmienną a FF w konsoli błędów wyświetla przykładowo:

Ostrzeżenie: Nieznana własność "mso-border-top-alt". Deklaracja opuszczona.
Plik źródłowy: ^^ Nie dam Wam adresu mojej strony aaevil.gif
Wiersz: 0

i pełno innych opuszczeń wszystkich wartości css.

Wie ktoś jak to zrobić tak aby działało?
Proszę o szybką pomoc.

Z góry dziękuje za odpowiedź i pozdrawiam
tlaguz.
Go to the top of the page
+Quote Post
masterix
post
Post #2





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 7.09.2004

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


Pokaż kod pobierający dane i wysyłający je
Go to the top of the page
+Quote Post
tlaguz
post
Post #3





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 5.01.2009

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


Wysyłam wywołując plik PHP ze zmienną POST, a po odebraniu z POSTa kod urywa się przy znakach: "&" lub: "=" lub ";" lub średnikach.

Jak przesyłam przez zwykły formularz jest ok.

Może da się jakoś zamienić te znaki na jakiś kod? (PHP musi po otrzymaniu mieć normalnie)
Go to the top of the page
+Quote Post
kimj9174
post
Post #4





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.04.2009

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


Ajax
Kod
<BR>function podmiana(tresc)<BR> {<BR>    var myAjax = new Ajax.Request('include/pobierz.php?link'+ new Date().getTime()+'&tesc='+tresc, { method: 'get', onComplete: showResponse } );<BR><BR>function showResponse(MyRequest)<BR>   { <BR>     $('duzy').innerHTML = MyRequest.responseText<BR>}<BR>     //wyswietlenie zawartosci  w div o id duzy<BR>


plik pobierz php
Kod
<BR><?PHP<BR>echo $_GET['tresc'];<BR><BR>?><BR>


Sprawdz moze masz wylaczone register globals off i wywolujesz $zmienna zamiast $_GET['zmienna'].

onclick=podmiana('zawartosc tinymce');

a jesli chodzi i ci o przetwarzanie danych z formularza z tiny
wysylasz dane do pliku
Kod
<BR><?PHP echo $_POST['zanwa pola z formularza']; ?><BR>


o to ci commmon?questionmark.gifsmile.gif
Go to the top of the page
+Quote Post
tlaguz
post
Post #5





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 5.01.2009

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


No właśnie nie bardzo.

Nagłówek GET może mieć tylko 255 znaków więc ślę to POSTem.

AJAX:
  1. var Requester = false;
  2.  
  3. if(window.XMLHttpRequest)
  4. {
  5. Requester = new XMLHttpRequest();
  6. Requester.overrideMimeType("text/xml");
  7. } else
  8. if(window.ActiveXObject)
  9. {
  10. Requester = new ActiveXObject("Microsoft.XMLHTTP");
  11. }
  12.  
  13. if (Requester)
  14. {
  15. Requester.open("POST", url);
  16. Requester.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  17. Requester.onreadystatechange = function()
  18. {
  19. if (Requester.readyState == 4 &&
  20. Requester.status == 200)
  21. {
  22. //null
  23. }
  24. }
  25. }
  26. Requester.send(postdata);


postdata to zawartość TinyMCE.

PHP:
  1. <?php
  2. echo $_POST["text"];
  3. ?>


oczywiście postdata ma taką postać: "text=blacośtamblablabla".

I rozgryzłem tyle, że nie mogę użyć znaków &, "", = itp.
I stąd moje pytanie.
Jakie są wszystkie znaki używane w nagłówku POST i jak je wszystkie podmienić, tak abym miał 100% pewność, że będzie działać?

Ten post edytował tlaguz 10.05.2009, 20:59:31
Go to the top of the page
+Quote Post
kimj9174
post
Post #6





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.04.2009

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


uzywasz czystego ajaxa czy jakiegos frameworka?questionmark.gifquestionmark.gif
Go to the top of the page
+Quote Post
tlaguz
post
Post #7





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 5.01.2009

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


Czystego.

I jak widać łączę się przez obiekt XMLHttpRequest
Go to the top of the page
+Quote Post
kimj9174
post
Post #8





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.04.2009

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


prototype
Kod
function wyslij()
{
   var myAjax = new Ajax.Request('include/wyslij.php?'+ new Date().getTime() +'&dane='+$F('dane')+'&temat='+$F('temat')+'&email='+$F('email')+'&tresc='+$F('tresc'), { method: 'post', onComplete: showResponse } );

  
function showResponse(MyRequest)
{  
function showAlert(MyRequest) {   alert("Operacja nie powiodła się"); }
$('opis').innerHTML = MyRequest.responseText
}


wysyła dane z formularza
w pliku wyslij.php jest funkcja mail+ zapisuje kopie do bazy.

Popatrz za jakims frameworkiem. po co wywarzac juz otwarte drzwi 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 Aktualny czas: 20.08.2025 - 13:51