![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam taki problem że pod czas dodawania newsa miałem tak że po odświeżaniu dodawał mi się kolejny. Nie chcę aby tak było więc zastosowałem header wszystko widać poniżej
Wywala Kod [b]Warning[/b]: Cannot modify header information - headers already sent by (output started at G:\xampp\xampp\htdocs\n\gora.php:128) in [b]G:\xampp\xampp\htdocs\n\page\admin.php[/b] on line [b]103 [/b]zaznaczam że ten kod to fragment dość dużej strony, którą musiałem przerobić. Wiem że jest setki tematów na temat headera ale w żadnym nie znalazłem rozwiązania, ten błąd jest chyba unikalny jakiś. Ob_start nie działa. I drugi problem to chcę usunąć rekordy z bazy ale mój skrypt nie działa. Proszę o pomoc. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
I przeczytałeś te setki tematów? Chyba nie bo byś nie dawał echo i header jedno pod drugim...
Co jest w tej sytuacji unikalnego, nie możesz nic wysłać do przeglądarki żeby użyć header. A co do usuwania rekordów:
Raczej to zadziała ale dobrze radzę przefiltrować jeszcze zmienną $_GET['usun'] zanim ktoś wstawi Ci do url'a jakieś OR 1=1 Ten post edytował Foxx 16.03.2009, 16:30:28 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
Przyznam sie o tym nie wiedzialem, ale gdzie w takim razie mam dac ten header, nie dam go na poczatku bo wtedy nawet gdy doda do bazy rekord to pojawi sie po odsiezeniu i co odswiezenie bedzie dodawal nowe
ps moze cos zle robie ale usuwanie nie dziala
Ten post edytował MateuszScirka 16.03.2009, 16:41:15 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Masz bałagan w kodzie, żeby to zrobić poprawnie powinieneś:
1. zapytania sql zapisać w takiej formie:
Dzięki czemu zobaczysz jakie zapytania ostatecznie są wykonywane po jakiej operacji na stronie i zobaczysz też ew. błędy mysql dzięki mysql_error(). 2. co do przekierowania - chcesz przekierować do innego pliku czy to wszystko jest plikiem page.php? Bo jeżeli to jeden plik to header jest zbędny, po prostu wykonaj wszystkie operacje na początku pliku a potem wyświetl formularz. Jeżeli to jest przekierowanie do innego pliku, page.php to i tak wykonuj operacje na początku, razem z przekierowaniem, zanim cokolwiek wyślesz do przeglądarki (czyli formularz tak jak teraz). |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
tak to wszystko wyonuje sie w jednym pliku page.php. Sa tam rozne panele, do dodawania newsow, kontaktow itp a ten panel to panel dodawania do cennika roznych rzeczy.
Usuwanie nie dziala (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Noż kurw.... |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Ok, usuwanie nie działa ale jaki jest rezultat echo $query; ? Jeżeli potem dzieją się w tym pliku jakieś przekierowania i nie możesz nic zobaczyć do daj po echo $query; instrukcję exit; A jeżeli nadal nic nie widać to znaczy że nie wchodzi do tego ifa więc URL ma może błędną postać.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
Błąd wyskakuje gdy chcę usunąć rekord.
A co do tego odświeżania to poszedłem na latwizne i prymitywizm i zastosowalem
moze dam kod mojego kolegi rowniez z page.php gdzie jest usuwanie, sam go nie rozgryzlem
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Błąd wyskakuje gdy chcę usunąć rekord. Wklej ten błąd, musimy go przeczytać żeby wiedzieć co nie gra. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
DELETE * FROM `cennik` WHERE id=''You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM `cennik` WHERE id=''' at line 1
gdy mam
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
No ale czy nie widzisz tego, że zmienna usun nie ma wartosci? (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif)
Cytat WHERE id='' A po drugie, zajrzyj do manuala żeby przeczytać jak wygląda instrukcja delete: http://www.w3schools.com/php/php_mysql_delete.asp |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Wiem, że w kodzie ma, ale zobacz jak wygląda jak się je wyświetli tuż przed wykonaniem:
Cytat DELETE * FROM `cennik` WHERE id=''You have an error To cytat z Twojego posta. Czyli zmienna $_GET['usun'] nie ma wartości, może nie mam jej przypisanej w urlu. I pamiętaj o tej składni DELETE, która u Ciebie jest błędna. Ten post edytował Foxx 16.03.2009, 17:43:52 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
bleah...
Nie mam pojecia szczerze mowiac o co ci chodzilo z ta pusta wartoscia ale mniejsza... zrobilem tak jak powyzej i uwaga!!!!! nie dziala ;/ Doceniam Twoje poswiecenie i licze ze jakos pomozesz mi z tego wybrnąć. Ten post edytował MateuszScirka 16.03.2009, 18:06:29 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Jak sam widzisz, proces się składa z 2 elementów: linka i instrukcji wykonującej zapytanie DELETE na jego podstawie.
Zrób tak:
Teraz powinieneś już nie mieć błędów składni ale nadal możesz mieć ten problem co poprzednio - w zmiennej $_GET['usun'] nic nie było. Dlatego przyjrzyj się linkowi, jeżeli ma postać page.php?id=14&opcja=sklep&usun= to źle a powinno być page.php?id=14&opcja=sklep&usun=23 - powpisuj ręcznie jakieś id rekordów i sprawdź czy usuwa Ci z bazy, sprawdź czy zmienna, którą wstawiasz w to miejsce, czyli $wynik['id'] ma na pewno jakąś wartość. |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
Metoda dziala czesciowo. Pod tabela mam napisane DELETE blabla zwyczajnie wyswietlone a na pasku mam niby ...&usun=6 (przykladowe id) ale usuwa dopiero gdy klinne enter (czyi wejde w link)
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Zobacz w źródle strony czy w linku jest jakiś numer id czy puste usun=
Nie wiem teraz czy mówisz o wpisanym id na sztywno czy to działa tak jak trzeba. Wiadomo, że musisz kliknąć w link żeby usuń się wykonało. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 12:22 |