![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 1 Dołączył: 18.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ok mam takie skrypty:
nowyprodukt.htm nowyprodukt.php baza.php --> tutaj wyswietla sie baza
I teraz mam problem. Jak dodaje produkt o nazwie: Kod "ciastka" --> razem z apostrofami! To wyswietli mi sie w baza.php CODE 5"ciastko"cena: 9.99zl, nr:5 Da sie jakos zrobic, zeby nie mozna bylo wpisywac takich znakow jak CODE "", '', (), itp? Ten post edytował Ociu 27.07.2008, 09:08:44
Powód edycji: poprawiam bbCode (ociu)
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 12 Dołączył: 20.01.2008 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Proponuję w pliku nowyprodukt.php po sprawdzeniu czy konkretne pola zostały wypełnione przeprowadzić kolejny test na zawartość niepożądanych znaków Najlepiej wpierw stwórz sobie tabele niepożadanych znaków, a następnie interesujące cię zmienne przeleć znak po znaku sprawdzając, czy dochodzi do wystąpenia jakiegoś elementu ze zdefiniowanej uprzednio tabelą i w razie potrzeby wykonanać określoną akcję
Pozdrawiam Inti |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 1 Dołączył: 18.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
No tak, ale jezeli juz mam np tabele zle_znaki:
CODE Creat table zleznaki( 'nrznaku int unsigned not null auto_increment primary key, znak char(2) not null); Jak mam sprawdzic czy np w $tekst sa znaki znajdujace sie w tabeli zleznaki? np: CODE $tekst = " "Ciasto" "; |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 12 Dołączył: 20.01.2008 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Nie chodziło mi o tabele w bazie lecz zmienna tabelarczyną
Dobra oto kod jak możesz to w dość naiwny sposób zrobić:
Mam nadzięję, że to wystarczy Pozdrawiam Inti Ten post edytował Inti 27.07.2008, 00:14:19 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 1 Dołączył: 18.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
hmm a nie da sie tego zrobic tak:
CODE $nazwaproduktu = $_POST['nazwaproduktu']; $query = "SELECT * FROM zleznaki"; if($nazwapr = strpos($nazwaproduktu, $query) { echo 'W nazwie produktu wpisales niedozwolone znaki!" exit; } Da sie to zrobic tak, ze za pomoca strpos() sprawdzam czy w nazwie produktu wystepuje niedozwolone znaki? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 12 Dołączył: 20.01.2008 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
hmm a nie da sie tego zrobic tak:
Da sie to zrobic tak, ze za pomoca strpos() sprawdzam czy w nazwie produktu wystepuje niedozwolone znaki? Jeśli działa, to czemu by nie ![]() ![]() Pozdrawiam Inti PS. Pytanie czy potrzeba jest dodawanie operacji łączenia się z bazą, za każdym sprawdzeniem poprawności słowa Ten post edytował Inti 27.07.2008, 00:34:29 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 1 Dołączył: 18.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki kod i niestety nie dziala;/Nie sprawdza mi czy wpisze niedozwolone znaki np:
CODE mleko) Normalnie wstawia mi takie cos do bazy;/Moze tutaj jest cos zle? CODE $query = "select * from zleznaki"; $results = mysql_query($query); if (strpos($nazwaproduktu, $results)) { echo 'wpisales niedozwolone znaki w nazwie produktu!'; exit; } Caly plik php: CODE <? $nrproduktu = $_POST['nrproduktu']; $nazwaproduktu = $_POST['nazwaproduktu']; $cena = $_POST['cena']; if (!$nrproduktu || !$nazwaproduktu || !$cena) { print "Nie zostały wypełnione wszystkie pola"; exit; } @$db = mysql_connect("localhost", "root", ""); if (!$db) { print "Nie można nawiązać połączenia z bazą danych"; exit; } mysql_select_db("sklep"); $query = "select * from zleznaki"; $results = mysql_query($query); if (strpos($nazwaproduktu, $results)) { echo 'wpisales niedozwolone znaki w nazwie produktu!'; exit; } $nrproduktu = addslashes(htmlspecialchars($nrproduktu)); $nazwaproduktu = addslashes(htmlspecialchars($nazwaproduktu)); $cena = addslashes(htmlspecialchars($cena)); $query = "insert into produkty values ('".$nrproduktu."', '".$nazwaproduktu."', '".$cena."')"; $result = mysql_query($query); if ($result) print "Towar <b>".$nazwaproduktu."</b> został dodany do bazy danych."; else { print "W bazie istnieje już produkt o tym numerze."; } ?> Ten post edytował godzio89 27.07.2008, 14:17:26 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 105 Pomógł: 3 Dołączył: 26.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Spójrz na to rozwiązanie (http://pl2.php.net/manual/pl/function.str-replace.php),
Wprowadziłem taką zmianę:
Komunikatu nie wyświetla, ale zamienia nie które znaki, oczywiście możesz poszerzyć własną listę. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 08:54 |