![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 2 Dołączył: 18.11.2009 Skąd: Grudziądz Ostrzeżenie: (0%) ![]() ![]() |
Siemanko !
Uczę się PHP stąd właśnie temat w takim dziale. Chcę zrobić automat do np ogłoszeń. Dodawanie ogłoszenia, usuwanie, edytowanie. Wszystko mi idzie nie źle i sprawnie, aczkolwiek z problemem borykam się w końcowym etapie skryptu. Chodzi o edytowanie: Kod PHP
Oraz formularz HTML:
Chcę aby w takim samym formularzu jak DODAWANIE OGLOSZENIA odbywało się jego edytowanie. Więc po kliknięciu `Edit` wczytuję dane o id=$x do formularza. Super, gra ! Tylko jak teraz zapisać wprowadzone poprawki do bazy ? No więc napisałem:
Aczkolwiek z tego co zdążyłem zauważyć nie odczytuje mi fragmentu zapytania: WHERE id='".$_POST['2lp']. - najnormalniej nie pobiera ID. Macie jakieś rady ? nikt nie ma pomysłu ? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 25.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
Jakoś trochę "zamotałeś" cały ten problem.
Ja ogólnie robię to tak, że w formularzu robie ukryte pole (<input type="hidden"...>) o nazwie id_rekordu i tam zapamiętuje 0 - jak to jest pusty formularz (dodawanie nowego rekordu) lub ID rekordu, jak to edycja. A po przesłaniu tego formularza sprawdzam jego poprawność i jak wszystko OK to - jak id_rekordu=0 wykonuje INSERT, jak id_rekordu>0 - wykonuje UPDATE. Twój kod jest podatny na SQL Injection - staraj się w zapytaniach nie używać odwołań typu id=".$_POST['2lp']... jak już to lepiej id=".((int)$_POST['2lp']). |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 479 Pomógł: 97 Dołączył: 6.09.2011 Skąd: php.net :) Ostrzeżenie: (0%) ![]() ![]() |
Właśnie tego pola brakuje Ci w pierwszym formularzu:
Kod <form method="post"> <input type="text" name="adv_name" style="margin-left: 20px; width: 300px; margin-bottom: 4px;" value="{ADV_NAME}"/> <textarea name="adv_txt" style="width: 94%; margin-left: 20px; height: 200px; resize: vertical;">{ADV_TXT}</textarea><br/> <input type="submit" name="{ADV_SUBMIT}" value="Dodaj ogłoszenie +" style="margin-left: 20px; margin-top: 10px; cursor: pointer" onclick="return confirm('Dodać nowe ogłoszenie ?')"/> </form> nie ma: Kod <input type="hidden" name="2lp" value="{LP_OGLOSZENIE}"/> więc zmienna nie jest przesyłana razem z tym formularzem. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 21:26 |