Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP/JavaScript/Ajax] Jak wysłać dane bez strat?, Rozwiązane, teraz problem z FPDF'em :) - nie rozwiązany
Babcia@Stefa
post 22.07.2008, 20:03:47
Post #1





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Witam, w czym mogę zakodować danę aby wysłać je ajaxem w taki sposób:

Kod
view_source('PHP_READ.php', 'jakisplik=tresc_pliku_wyslana_bez_strat', 'target_id')


Jak wyślę normalnie to połowa pliku się nie wyśle (jak będą znaki & lub = ), jak zakoduje w escape() to po stronie serwera nie mogę większości znaków odczytać, jak zakoduje w base64 to znaki htmla wywala (ucina najczęściej końcówki tagów, jak dodam jeszcze jedną końcówkę to usuwa całą zawartość wysyłaną, lub nie ucina końcówek tylko zamienia wszystko od jakiegoś tagu HTML w kwadraty, trójkąty itp.)

Po prostu jak jak zaszyfrować dane po stronie klienta aby odszyfrować bez stratnie po stronie serwera?

Nie nakrzyczę, nie zbluzgam jak będzie zła odpowiedź (podziękuję) tongue.gif (wiem że wielu się boi pisać bo myśli że źle napisze tongue.gif)

@edit
Ten problem już został rozwiązany, lecz w tym temacie napiszę jeszcze drugi, a dotyczy on FPDF'a oraz html2fpdf do generowania PDF'ów.

Gdy wrzucę treść:
  1. <title>paziek jesteś wielki !</title>
  2. </head>
  3. <center><b>paziek jesteś wielki :)</b></center>
  4. </body>
  5. </html>


Pokazuje mi:
Cytat
FPDF error: Undefined font: arialpl B


Na większości plików działa, szczególnie na pustych tekstowych smile.gif

Dziękuję, Babcia@Stefa

Ten post edytował Babcia@Stefa 25.07.2008, 13:02:58


--------------------
Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian
Go to the top of the page
+Quote Post
oscar17
post 22.07.2008, 23:53:32
Post #2





Grupa: Zarejestrowani
Postów: 102
Pomógł: 22
Dołączył: 3.03.2008

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


A próbowałeś może w quoted-printable to zakodować?
a potem odczytać quoted-printable-decode" title="Zobacz w manualu PHP" target="_manual?

Ten post edytował oscar17 22.07.2008, 23:54:24
Go to the top of the page
+Quote Post
Babcia@Stefa
post 23.07.2008, 07:49:50
Post #3





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Dzięki, a czy możesz mi wskazać funkcję kodującą w JavaScript'cie?
Wtedy jeśli zadziała, mogę kliknać "Pomógł" smile.gif


--------------------
Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian
Go to the top of the page
+Quote Post
oscar17
post 23.07.2008, 08:14:51
Post #4





Grupa: Zarejestrowani
Postów: 102
Pomógł: 22
Dołączył: 3.03.2008

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


Kurczak, ja jeśli chodzi o JavaScript to raczej noga jestem, ale spróbuj może przerobić ten kod z manuala PHP, jeśli nie możesz użyć PHPa do tego, chyba nie powinno z tym być dużego problemu.
Go to the top of the page
+Quote Post
Babcia@Stefa
post 23.07.2008, 08:17:37
Post #5





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Właśnie że dane biegną z formularza Ajax który edytuje pliki txt, html, log itp.
i kiedy on zapisze (wyśle) w base64 to jest tragedia :/

Potrzebuję funkcję kodującą w javascript.

@up
Ja też noga jestem z js biggrin.gif ale jakiś tam kiedyś kurs przeczytałem, jakoś sobie radzę smile.gif

Ten post edytował Babcia@Stefa 23.07.2008, 08:22:15


--------------------
Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian
Go to the top of the page
+Quote Post
em1X
post 23.07.2008, 09:38:30
Post #6





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

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


escape() i unescape() ? tongue.gif


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
rzymek01
post 23.07.2008, 14:48:03
Post #7





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


surfowałem sobie po necie i natknąłem się na temat lekko zbliżony do Twojego:
Cytat(http://www.haksior.com/ukrywanie-kodu-html-przed-ciekawskimi-473.html)
Szyfrowanie zawartości strony WWW algorytmem DES

Stosując bibliotekę mcrypt oraz implementację algorytmu DES napisaną w JavaScript i dostępną pod adresem http://www.laynetworks.com/des.htm możemy przystąpić do faktycznego zaszyfrowania treści witryny WWW.

jak Cię zainteresuje to wejdź na stronę i tam jest więcej na ten temat smile.gif

może to jest używanie młota na zabicie mrówki, ale przynajmniej treść pliku będzie bezpieczna biggrin.gif


--------------------
:]
Go to the top of the page
+Quote Post
Babcia@Stefa
post 24.07.2008, 10:08:07
Post #8





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Cytat(em1X @ 23.07.2008, 08:38:30 ) *
escape() i unescape() ? tongue.gif


Hehe, wtedy ucina wszystkie polskie znaki oraz inne, a ja chcę wszystko oryginalnie, a jak ktoś skorzysta ze znaków rosyjskich, niemieckich, włoskich itp. których ja nie zamienię? smile.gif

rzymek01, słyszałem o tym smile.gif tylko który przykład koduje w JS tongue.gif (noga z js tongue.gif)

@edit
http://www.tero.co.uk/des/code.php super opisane wszystko smile.gif jak zaimplementuje to dam znać tongue.gif

@edit
Chyba że znacie o wiele prostszą metodę? (po co dodatkowy kod jeśli może jakaś funkcja jest wbudowana w PHP/JS?)

Dziękuję, Babcia@Stefa

Ten post edytował Babcia@Stefa 24.07.2008, 10:15:30


--------------------
Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian
Go to the top of the page
+Quote Post
rzymek01
post 24.07.2008, 14:06:51
Post #9





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


prostszy sposób?

Cytat
Polskie ogonki a funkcje escape() i unescape()

Funkcje JavaScript escape() i unescape() konwertują, oprócz znaków zabronionych w adresach URL, również polskie znaki diakrytyczne. Litery z ogonkami są konwertowane przez funkcję escape() do postaci %uhhhh, gdzie hhhh oznacza cyfry systemu szesnastkowego. Na przykład litera „Ź” jest zakodowana jako %u0179, zaś „ą” jako %u0105. Kod ten to szesnastobitowy unikod. Jeśli chcemy polskie znaki diakrytyczne umieszczać w treści szyfrowanych stron, to musimy przed dokonaniem szyfrowania przekształcić litery z ogonkami do unikodu.

Funkcja rawurlencode() dostępna w PHP koduje polskie znaki diakrytyczne w standardowej postaci %HH, na przykład literę „ą” jako %B9. Zatem po zakodowaniu napisu w PHP funkcją rawurlencode() (lub przedstawioną na listingu 1 escape()), musimy dokonać konwersji kodów polskich liter z %HH na unikod %uhhhh.

a dalej to już trzeba samemu pogrzebac smile.gif


--------------------
:]
Go to the top of the page
+Quote Post
Babcia@Stefa
post 25.07.2008, 10:32:46
Post #10





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Ehhh.. jeśli mam napisać funkcję konwertującą w javascript to nie wiem jak (jeszcze w PHP sobie poradzę) smile.gif - może istnieje taka funkcja? (nie wiem czego szukać w Google)

Oto mój przykład:
Edycja:

Zapis:

Generowanie PDF (z tym nie mam problemu jeszcze smile.gif):

Edycja, po zapisaniu rozwala się:

Zapis po edycji plik HTML:


Funkcja kodująca w JS:

Kod
function NotepadEditor()
  {
    var message = document.getElementById('NotepadEditArea').value;
    return Base64.encode(message);
  }


Dziękuję, Babcia@Stefa

Ten post edytował Babcia@Stefa 25.07.2008, 10:46:14


--------------------
Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian
Go to the top of the page
+Quote Post
paziek
post 25.07.2008, 11:01:35
Post #11





Grupa: Zarejestrowani
Postów: 207
Pomógł: 25
Dołączył: 16.11.2006

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


Ja używam czegoś takiego:
Kod
function bs(a) {//transfer to binary safe for AJAX req
    return a.replace(/\+/,'%2b').replace(/\=/,'%3d').replace(/\&/,'%26');
}


Zamienia plusa, znak równości i amperkę na wartości w hexach. Działa przy zwykłym HXR, a po stronie serwera nic nie trzeba robić, bo w POST dane są automatycznie kodowane i te hexy serwer odczytuje juz jako normalne znaki.

Ten post edytował paziek 25.07.2008, 11:01:55
Go to the top of the page
+Quote Post
Babcia@Stefa
post 25.07.2008, 11:21:14
Post #12





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


paziek, Dzięki!
Zaraz przetestuję smile.gif

I powiem jak działa smile.gif

Aa... jeszcze tagi HTML? Jak będzie czytać? tongue.gif

@edit
Jestem pod wrażeniem ohmy.gif (dwie linijki kodu, i wszystko działa bez kodowania w DESACH, Deskach, młotkach i pachołkach biggrin.gif)

@edit
FPDF wywala mi na niektórych plikach taki error:
Cytat
FPDF error: Undefined font: arialpl B


Ten post edytował Babcia@Stefa 25.07.2008, 12:33:07


--------------------
Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian
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: 12.06.2025 - 19:34