Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> 501 Method Not Implemented
kielek
post 18.10.2010, 10:03:46
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 1
Dołączył: 24.02.2007

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


Witam,

Mam dziwny problem, chyba jeden z dziwniejszych z jakimi się spotkałem...
Dodając wartość do bazy danych przez najzwyklejszy w świecie formularz na swojej stronie wszystko się wysypuje. Dzieje się to tylko w momencie gdy w polu podaje:
"jasność cd/m2"

Problem sprawia właśnie "cd/", serwer widząc coś takiego próbuje przejść chyba do innego katalogu, ale po pierwsze nie wiem czemu wyskakuje, że jest brak jakiejś metody, a po drugie nie wiem czemu to w ogóle wyskakuje.
Dane odbierane z posta są filtrowane przez funkcje htmlspecialchars() oraz addslashes()

Proszę o pomysły jak się z tym uporać.
Dzięki i pozdrawiam smile.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
fander
post 18.10.2010, 12:56:23
Post #2





Grupa: Zarejestrowani
Postów: 231
Pomógł: 22
Dołączył: 6.10.2008

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


A może byś podał skrypt który ci dodaje te informacje do bazy, z czego korzystasz, PDO czy zwykłego php_mysql ?
Go to the top of the page
+Quote Post
kielek
post 18.10.2010, 13:23:52
Post #3





Grupa: Zarejestrowani
Postów: 86
Pomógł: 1
Dołączył: 24.02.2007

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


Zwykły mysql w php

  1. $name = addslashes(htmlspecialchars($_POST['name']));
  2. $id_group = intval($_POST['id_group']);
  3. $properties = addslashes(htmlspecialchars($_POST['properties']));
  4. $position = intval($_POST['position']);
  5.  
  6. $query = mysql_query("INSERT INTO ".DB_PREFIX."attributes (name, id_group, properties, position) VALUES ('".$name."', '".$id_group."', '".$properties."', '".$position."')");


Działa wszystko poza tym co zawiera "cd/"
Go to the top of the page
+Quote Post
fander
post 18.10.2010, 14:06:34
Post #4





Grupa: Zarejestrowani
Postów: 231
Pomógł: 22
Dołączył: 6.10.2008

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


użyj: mysql_escape_string() na zmiennych


Poza tym $query powinno wyglądać tak
Kod
$query = mysql_query('INSERT INTO '.DB_PREFIX.'attributes (name, id_group, properties, position) VALUES ("'.$name.'", '.$id_group.', '.$properties.', '.$position.')');


$name jest stringiem
$id_group, $properties (nie wiem), $position powinny być typu int, ty natomiast w swoim zapytaniu wstawiasz string
Go to the top of the page
+Quote Post
kielek
post 18.10.2010, 17:29:40
Post #5





Grupa: Zarejestrowani
Postów: 86
Pomógł: 1
Dołączył: 24.02.2007

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


Próbowałem też z mysql_escape_string, ale niestety nie podziałało.
Sprawdzałem też kiedy całość się sypie i nie sypie się przy wysyłaniu zapytania, nie sypie się też przy przypisywaniu wartości z posta do zmiennej $name, dzieje się to zaraz po wysłaniu formularza czyli to będzie coś serwerowego...

Jakieś dalsze pomysły?

Ps. co do samego zapytania - przerobione te jak i pozostałe smile.gif
Go to the top of the page
+Quote Post
kiler129
post 18.10.2010, 22:43:04
Post #6





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

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


Użyj firefoxa i wtyczki Live HTTP Headers, wyślij formualrz i pokaż tutaj co zwróci po jego wysłaniu.
Kod 501 oznacza, że użyto złej metody czyli coś po za GET/POST/PUT itp.


--------------------
flexiCMS v2 [|||||||+--] 75% done
Go to the top of the page
+Quote Post
kielek
post 19.10.2010, 01:10:05
Post #7





Grupa: Zarejestrowani
Postów: 86
Pomógł: 1
Dołączył: 24.02.2007

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


Kod
http://****/index.php?site=attributes&mode=add

POST /index.php?site=attributes&mode=add HTTP/1.1
Host: ****
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pl,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://****/index.php?site=attributes&mode=add
Cookie: __utma=256857236.887506399.1284924800.1286888474.1287410227.18; __utmz=256857236.1284924800.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); last_viewed=260%2C1%2C4%2C3%2C6%2C7%2C8%2C5%2C; PHPSESSID=9eb3a5ab4a4e456b72436dfa67487813
Cache-Control: max-age=0
Content-Type: multipart/form-data; boundary=---------------------------199541875611840
Content-Length: 766
-----------------------------199541875611840
Content-Disposition: form-data; name="name"

jasność cd/m2
-----------------------------199541875611840
Content-Disposition: form-data; name="position"


-----------------------------199541875611840
Content-Disposition: form-data; name="id_group"

4
-----------------------------199541875611840
Content-Disposition: form-data; name="properties"


-----------------------------199541875611840
Content-Disposition: form-data; name="send"

Zapisz
-----------------------------199541875611840--

HTTP/1.1 501 Method Not Implemented
Date: Tue, 19 Oct 2010 00:04:05 GMT
Server: Apache
Allow: TRACE
Content-Length: 403
Connection: close
Content-Type: text/html; charset=iso-8859-1
----------------------------------------------------------


Domenę ja zagwiazdkowałem - serwer do testów i nie chce go upubliczniać.
Jeszcze raz tylko napiszę, że wszystko działa normalnie gdy wpisze cokolwiek innego niż coś co zawiera "cd/"
Go to the top of the page
+Quote Post
fander
post 19.10.2010, 08:08:20
Post #8





Grupa: Zarejestrowani
Postów: 231
Pomógł: 22
Dołączył: 6.10.2008

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



Nagłówki wyglądają poprawnie, a pokaż jeszcze skrypt formularza

Go to the top of the page
+Quote Post
kielek
post 19.10.2010, 08:23:00
Post #9





Grupa: Zarejestrowani
Postów: 86
Pomógł: 1
Dołączył: 24.02.2007

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


Formularz to też nic specjalnego...
Spróbuje skontaktować się z kimś z hostingu, może to coś od nich.

  1. <form action="" method="post" enctype="multipart/form-data">
  2. <div class="sub_content">
  3.  
  4. <table style="width: 100%;">
  5.  
  6. <tr><td class="left_td">Nazwa:</td><td class="right_content"><input type="text" name="name" class="title_input" /></td></tr>
  7. <tr><td class="left_td">Pozycja:</td><td class="right_content"><input type="text" name="position" /></td></tr>
  8. <tr><td class="left_td">Kategoria:</td><td class="right_content"><select name="id_group" class="title_input">
  9. {foreach from=$categories item=item}
  10. <option value="{$item.id_group}">{$item.name}</option>
  11. {/foreach}
  12. </select></td></tr>
  13. <tr><td class="left_td">Właściwości:</td><td class="right_content"><input type="text" name="properties" class="title_input" /></td></tr>
  14. <tr><td class="left_td" colspan="2">Zdefiniowane właściwości muszą być oddzielone średnikiem ( ; )</td></tr>
  15. </table><br /><br />
  16. <br /><input type="submit" name="send" value="Zapisz" class="button" style="width: 100%;" />
  17.  
  18. </div>
  19. </form>


Edit...
Serwer testowy stoi na az.pl, sprawdzałem teraz ten sam skrypt na innym serwerze i działa bez zarzutu, nie wysypuje się po wpisaniu "cd/" czyli jest to wina az...

Ten post edytował kielek 19.10.2010, 08:28:06
Go to the top of the page
+Quote Post
fander
post 19.10.2010, 14:42:00
Post #10





Grupa: Zarejestrowani
Postów: 231
Pomógł: 22
Dołączył: 6.10.2008

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



Najwidoczniej, bo u mnie na lokalu i serwerze serwery.pl normalnie wszystko wysyła...

A sprawdź jeszcze w logach dla domeny, czy tam nie ma jakichś dodatkowych informacji o błędach
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: 19.07.2025 - 01:18