Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP/JavaScript/Ajax] Jak wysłać dane bez strat?
Forum PHP.pl > Forum > PHP
Babcia@Stefa
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
oscar17
A próbowałeś może w quoted-printable to zakodować?
a potem odczytać quoted-printable-decode" title="Zobacz w manualu PHP" target="_manual?
Babcia@Stefa
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
oscar17
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.
Babcia@Stefa
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
em1X
escape() i unescape() ? tongue.gif
rzymek01
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
Babcia@Stefa
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
rzymek01
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
Babcia@Stefa
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
paziek
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.
Babcia@Stefa
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
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.