![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 1.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Chcę stworzyć prosty skrypt newsów. Napisałem pewien kod i chodzi o to, żebym chciał aby formularz dokonywał wpisu dopiero po wciśnięciu przycisku "wyslij". Jak można zauważyć tutaj mamy dodawanie od razu po wczytaniu strony. Co możecie zaproponować? Co można tu przerobić/dodać?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Zrób tak:
Masz dużo błędów pozwalających na SQL Injection, dodatkowo Twój kod rzuca E_NOTICE. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 1.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dopiero zaczynam, ze tak powiem tworzyć. O błędach sql injection słyszałem a co to e-notice?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Dopiero zaczynam, ze tak powiem tworzyć. O błędach sql injection słyszałem a co to e-notice? To błędy mniejszej wagi (nie krytyczne) ale warto tak pisać aby nie było i takich błędów. Włączysz je powyższym kodem. Koniecznie dodaj walidacje lub dodaj np. addslashes bo skrypt może Ci się rozlecieć gdy dodasz w treści cudzysłowie. Pomijam SQL INJECTION, o którym już kolega wyżej wspomniał (newsy domyślam się, że i tak dodajesz Ty więc zabezpieczenia mogą iść na drugi plan). Ten post edytował markonix 1.11.2010, 17:35:51 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 1.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
A gdzie należy dodać ten kod php?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Gdzieś u góry, nad kodem właściwym.
Tylko umieść to tam na czas projektowania, potem usuń. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 1.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
A mam takie pytanie. Znalazłem gdzieś pewien kod i zamieniłem pod moje potrzeby.
Jak można zobaczyć w funkcji warunkowej odpowiedzialnej za edycje mamy formularz, W związku z tym mam pytanie czy i co mogę zobaczyć aby edycja odbywała w formularzu który znajduje sie u góry pliku? Mam też tu taki problem, że coś nie dział poprawnie z aktualizowaniem danych. Owszem wyświetlaja sie w formularzu, ale po wcisnięciu przycisku popraw ... dane nie sa zamieniane. Ten post edytował radziowie 1.11.2010, 21:25:27 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Zamiast używać addslashes jak wspomniał ktoś wyżej, użyj mysql_real_escape_string - będzie bardziej odpowiednie.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 1.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
A masz (lub ktośinny) jakiś pomysł co można zrobić aby aktualizacja danych działała poprawnie. Co do formularza się zastanawiałem czy do pierwszego nie zrobić funkcji, ale w takim przypadku nie miałbym mozliwości podstawienia konkretnych danych :/
Ten post edytował radziowie 1.11.2010, 21:53:46 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Dodaj do zapytania UPDATE
Kod or die(mysql_error()); Pokaże Ci to ewentualne błędy składni w zapytaniu, które Ci nie działa. Choć wydaje mi się, że w ogóle akcja update nie jest wykonywana w Twoim przypadku. Na który kod mamy patrzeć? Z pierwszego postu czy ten nowy? Z którym masz problem? |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 1.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Na ten ostatni kod. Właśnie coś mi się wydaje, że problem właśnie tkwi w tym, że nie wywołuje UPDate'a.
Mam wrażenie, że nie działa właśnie funkcja warunkowa odpowiedzialna za aktualizację danych, bo mimo, że wstawiłem tam kod to żadnych komunikatów nie wygląda a dane pozostają bez zmian. Ten post edytował radziowie 2.11.2010, 12:11:39 |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
if ($_POST['tytul'] && $_POST['text'] && $_POST['autor']) {
Przecież w formularzu edycyjnym nie masz pola o nazwie TYTUL ani AUTOR Włacz sobie wyswietlanie wszystkich bledów a zaoszczedzisz sobie i nam masy czasy... Tu masz napisane jak to zrobic Temat: Jak poprawnie zada pytanie |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 1.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Włączyłem wyświetlanie błędów otrzymałem:
Edycje poprawiłem i już działa. Tylko mam jeszcze pytanie gdzie tkwi błąd w tych linijkach oraz czy mogę coś zrobić aby dodawanie i edycja odbywała się w tym samym formularzu. Aktualny kod wygląda następująco:
Ten post edytował radziowie 2.11.2010, 12:27:10 |
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Tylko mam jeszcze pytanie gdzie tkwi błąd w tych linijkach Błąd tkwi gdzieś pomiędzy linijką 1 a 101 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 1.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ja rozumiem, ze błąd dotyczy linijek 17, 18 i 19 tylko nie wiem co tu jest żle bo wg mnie tak to powinno wygladać ;/
|
|
|
![]()
Post
#16
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Widzę nie załapałeś aluzji... No dobrze, napiszę wprost:
Czym u Ciebie objawia sie to "źle" Jesli chodzi ci o te NOTICE (wybacz, zmylil mnie tekst, ze juz naprawiles i dziala) to najpierw sprawdzaj czy jest dany POST a dopiero potem go pobieraj
Powód edycji: [nospor]:
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 1.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki. Zrobiłem to tak:
A co do jednego formularza do dodawania wiadomości i edycji ma ktoś jakiś pomysł? Z góry przepraszam za ponownego posta. Udało mi się coś nowego stworzyć i niby pojawia się formularz, ale troche kiepsko ten kod wygląda. Da sie to jakoś inaczej zrobić?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 17:09 |