Serwer HTTP
Ostatnio zmodyfikowano 2011-01-01 22:53
malan |
» 2011-01-01 20:31:03 Nie widzę żebyś otwierał gdzieś ten cudzysłów... Nie powinno być tak: plik="aaa.txt" ? |
|
ison Temat założony przez niniejszego użytkownika |
» 2011-01-01 20:33:32 nawet gdy biorę to w cudzysłów to otrzymuję odpowiedź: FILE: HTTP/1.1 200 OK Date: Sat, 01 Jan 2011 19:31:23 GMT Server: Apache/2.2.17 (Win32) PHP/5.2.16 X-Powered-By: PHP/5.2.16 Content-Length: 88 Content-Type: text/html
<body bgcolor=black><font color=white>Blad przy przesylaniu danych!</font></body>
te pierwsze informacje zawsze są w odpowiedzi, a ta dolna część to błąd, który wyświetla skrypt php, którego używam |
|
malan |
» 2011-01-01 20:35:23 No to podaj pełną ścieżkę do tego pliku. |
|
ison Temat założony przez niniejszego użytkownika |
» 2011-01-01 20:39:42 to samo, z cudzysłowem i bez skrypt tej zmiennej w ogóle nie widzi |
|
malan |
» 2011-01-01 20:50:10 Czyli wysyłasz zły nagłówek (tak obstawiam)... Pobierz sobie np. Live HTTP Headers (Mozilla Firefox), uruchom skrypt z poziomu strony i zobacz, co dokładnie wysyła przeglądarka. |
|
ison Temat założony przez niniejszego użytkownika |
» 2011-01-01 20:53:15 no właśnie teraz patrze że to php jakieś dziwne jest... echo 'Błąd przy przesyłaniu danych!'.$nazwa;
powinien wyświetlić wartość zmiennej o nazwie nazwa localhost/submit.php?nazwa=test
nic nie wyświetla poza komunikatem 'Błąd przy przesyłaniu danych!'... //edit ok, już wykombinowałem z tymi zmiennymi w adresie tylko to mi trochę rujnuje cały skrypt ;p |
|
malan |
» 2011-01-01 21:06:15 No, to wrzuć poprawne rozwiązanie :) |
|
ison Temat założony przez niniejszego użytkownika |
» 2011-01-01 21:20:00 dobra, udało mi się osiągnąć swój cel :D nie do końca tak jak zamierzałem to zrobić na początku ale ważne, że się udało zamiast przesyłania pliku postanowiłem operować tylko na zmiennych, które mogę przekazać w adresie napisałem sobie skrypt: komentarz.php: <?php echo '<body bgcolor=black>'; echo '<font color=white>';
$tresc=$_GET[tresc];
$fp = fopen("komentarze.txt", "a"); flock($fp, 2); fwrite($fp, $tresc); fwrite($fp, "\r\n"); flock($fp, 3); fclose($fp);
echo 'Dodano :)';
echo '</font>'; echo '</body>'; ?>
dzięki czemu mogę dopisać nowy komentarz do pliku przez wywołanie strony: adres_strony/komentarz.php?tresc=Tresc komentarza równie dobrze mogę wysłać zapytanie z poziomu socketów: POST /getinfo.php?tresc=Komentarz HTTP/1.1\r\nHost: ...itd problem jedynie pojawia się ze spacjami (tylko przy wysyłaniu socketów, nie przy wchodzeniu bezpośrednio w link), nie można wysłać tresc=slowo_a slowo_b bo następne słowo po spacji zostanie potraktowane jako nowy argument (cudzysłów ani apostrof nie załatwia sprawy, także nie przechodzi) trzeba zatem przed wysłaniem socketa zamienić wszystkie spacje na jakiś mało używany znak po czym w skrypcie php na odwrót jest pewnie na to lepszy sposób ale ten też działa ;) |
|
1 « 2 » 3 |