![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 31.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Piszę stronę z niewielką bazą danych (mysql), ale napotkałem na problem, którego nie mogę znaleźć rozwiązania. Wypełniam jakieś pole formularza - np kod pocztowy: 05155 Po wysłaniu formularza w bazie zapisze się 5155. Co zrobić, żeby '0' nie było usuwane jeżeli jest pierwszym znakiem w rekordzie? Można by użyć funkcji LPAD, ale to zadziała, jeżeli długość rekordu jest stała? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Kod function add_dboddzial($kodpocztowy,$prefix) {
$prefix = mysql_real_escape_string($prefix); //tędy też może przejść injection! $kodpocztowy = mysql_real_escape_string(strpad($kodpocztowy,5,'0',STR_PAD_LEFT)); //uzupełnienie zerami z lewej strony do 5 znaków $sql = " INSERT INTO {$prefix}oddzial VALUES ('$kodPocztowy') "; ... } |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 31.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
W tym wierszu musiałem dodać '_' w nazwie funkcji str_pad() i już wszystko działa:
Cytat $kodpocztowy = mysql_real_escape_string(str_pad($kodpocztowy,5,'0',STR_PAD_LEFT)); $prefix = mysql_real_escape_string($prefix); //tędy też może przejść injection! Jak się tu zabezpieczyć przed atakiem - wystarczy, że będzie sesja? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 02:58 |