Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Odbieranie danych przez $_GET, Niecodzienny temat
xamrex
post
Post #1





Grupa: Zarejestrowani
Postów: 267
Pomógł: 1
Dołączył: 10.08.2007

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


Witam,
Czy jest możliwość przesłania danych, które nie sa znakami asci i zawierają znak & poprzez $_GET

Sprawa wygląda tak. Postawiłem stronę WWW - strona2.php
  1. <?php
  2.  
  3. $myfile = fopen("fota.txt", "w") or die("Unable to open file!");
  4. $txt = $_GET["data"];
  5. fwrite($myfile, $txt);
  6. fclose($myfile);
  7. ?>

I teraz jak wejdę na www.mojastrona.pl/strona2.php?data=123
to później jak wejdę na www.mojastrona.pl/fota.txt
to mam w niej zawartość 123.

Ale co jeśli chciałbym wysłać jakieś dane które nie są znakami ASCI oraz dodatkowo mogą zawierać znaki takie jak . ? &
Wtedy będzie to źle 'zrozumiane' przez serwer i jeśli chciałbym wysłać taką paczkę danych:
Tajne&dane to w pliku fota.txt będę miał tylko tajne
Da się jakoś sprawić, żeby znak & był ignorowany?

Generalnie posiadam moduł Wifi ESP8266, który można fajnie programować i który służy do łączenia się z internetem, i chciałbym wysłać nim dane, ale moga one zawierać znak &, więc musiałbym wymyślić coś innego.
Ktoś wie jak to rozwiązać?
EDIT:
Myślę, że można znaleść jakiś algorytm, który zakodowałbymi dane tak, żeby wynikiem były tylko znaki alfabetu. wtedy mógłbym to przesłać. Czy to dobry pomysł?

Ten post edytował xamrex 19.04.2018, 19:44:44
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
LowiczakPL
post
Post #2





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

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


binarne dane przesyłaj "Content-Transfer-Encoding: binary"
ale jak przesyłasz obrazek to dodaj nagłówek "Content-Type: image/jpeg"

przykład jak wysłać pliki

https://tttapa.github.io/ESP8266/Chap12%20-...o%20Server.html

Ten post edytował LowiczakPL 24.04.2018, 22:13:44
Go to the top of the page
+Quote Post
xamrex
post
Post #3





Grupa: Zarejestrowani
Postów: 267
Pomógł: 1
Dołączył: 10.08.2007

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


Cytat(LowiczakPL @ 24.04.2018, 23:07:41 ) *
binarne dane przesyłaj "Content-Transfer-Encoding: binary"
ale jak przesyłasz obrazek to dodaj nagłówek "Content-Type: image/jpeg"

przykład jak wysłać pliki

https://tttapa.github.io/ESP8266/Chap12%20-...o%20Server.html

Jak dodam ten nagłówek encoding:binary, czyli mój nagłówek będzie wyglądał tak:
  1. POST /jomla/strony.php HTTP/1.1
  2. Content-Type: application/x-www-form-urlencoded
  3. Host: mojastrona.pl
  4. Content-Transfer-Encoding: binary
  5. Content-Length: 15
  6.  
  7. data=0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29

To w pliku zdj.jpg będę miał wartości tylko 0x21 0x22 0x23 0x24 0x25


Natomiast jak zmienię nagłówek na:
  1. POST /jomla/strony.php HTTP/1.1
  2. Content-Type: application/octet-stream
  3. Host: mojastrona.pl
  4. Content-Length: 15
  5.  
  6. data=0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29

to w pliku zdj.jpg nie mam nic.


Wydaje mi się, że $_GET odbiera tylko dane jak ten nagłówek jst Content-Type: application/x-www-form-urlencoded.
jednak tym sposobem nie prześlę znaku '&'

Ten post edytował xamrex 24.04.2018, 22:42:18
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 09:52