Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Usunięcie wpisu z bazy - sprawdzenie
zagi195
post 14.08.2010, 15:35:39
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 1.02.2010

Ostrzeżenie: (0%)
-----


Mam taki kod, który wg. mnie nie ma błędu (w innej stronie taki miałem i działał)
oto on:
  1. if ( $mode == "del" )
  2. {
  3.  
  4.  
  5. $sql = "DELETE FROM " . SERWERS_TABLE . " WHERE serwers_id = '".$get_serwers_id."'";
  6. if( !$result = $db->sql_query($sql) )
  7. {
  8. message_die(GENERAL_ERROR, "Couldn't update serwers table", "", __LINE__, __FILE__, $sql);
  9. }
  10.  
  11. $message = $lang['Serwers_Deleted'] . "<br /><br /><a href=\"".append_sid("admin_serwers.$phpEx?mode=view")."\">". sprintf($lang['Click_Here_Go_Back'] . "</a>");
  12. message_die(GENERAL_MESSAGE, $message);
  13. }


A cały kod pliku jest w moim poprzednim temacie: klik
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 18)
nospor
post 14.08.2010, 15:37:54
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No a patrzyłeś czy wegenerowane zapytanie jest ok?

echo $sql;
Co wyswietla?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
zagi195
post 14.08.2010, 15:41:38
Post #3





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 1.02.2010

Ostrzeżenie: (0%)
-----


Wyświetla:
Cytat
DELETE FROM phpbb_newserwers WHERE serwers_id = ''
Go to the top of the page
+Quote Post
gothye
post 14.08.2010, 15:43:14
Post #4





Grupa: Zarejestrowani
Postów: 702
Pomógł: 65
Dołączył: 16.03.2009

Ostrzeżenie: (0%)
-----


czyli brak podanego id (parametru) wiec jak ma usunąć ?


--------------------
Nie udzielam pomocy poprzez PW
Go to the top of the page
+Quote Post
nospor
post 14.08.2010, 15:44:32
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




oczywiscie chodzi o register_globals
http://nospor.pl/php-faq.html#faq-3

A na przyszłość włącz sobie wyswietlanie wszystkich błędów.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
zagi195
post 14.08.2010, 15:45:25
Post #6





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 1.02.2010

Ostrzeżenie: (0%)
-----


Właśnie wiem, tylko nie wiem czemu. To kod zmiennej.
Cytat
$get_serwers_id = mysql_real_escape_string($HTTP_GET_VARS["serwers_id"]);

od razu mówię że w bazie jest pole serwers_id
Go to the top of the page
+Quote Post
nospor
post 14.08.2010, 15:46:47
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
od razu mówię że w bazie jest pole serwers_id
Co ma piernik do wiatraka skoro ty go pobierasz z linku a nie z bazy?

Poza tym nie:
$HTTP_GET_VARS["serwers_id"]
a:
$_GET["serwers_id"]


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
zagi195
post 14.08.2010, 15:57:54
Post #8





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 1.02.2010

Ostrzeżenie: (0%)
-----


Pomieszało już mi się wszystko...
To coś takiego miało by być?
  1. $sql = "DELETE FROM " . SERWERS_TABLE . " WHERE serwers_id = '".$_GET['get_serwers_id']."'";

ale nie działa.
Tylko takim samym sposobem usuwam na innej podstronie i działa, może coś w pliku jest nie tak, podałem link w 1 poście

Ten post edytował zagi195 14.08.2010, 16:00:37
Go to the top of the page
+Quote Post
nospor
post 14.08.2010, 16:01:46
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No a pokaż jak wyglada link, który odpala ten skrypt.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
zagi195
post 14.08.2010, 16:04:52
Post #10





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 1.02.2010

Ostrzeżenie: (0%)
-----


nospor, dziękuje za poświęcenie mi czasu, w linku zrobiłem literówkę. temat możesz zamknąć.
Go to the top of the page
+Quote Post
nospor
post 14.08.2010, 16:06:01
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Gdybyś włączył wyświetlanie wszystkich błędów, o czym ci już pisałem, to byś błąd od razu widział a nie latał po forum.
W ramach więc wdzięczności dla mnie - włącz że te wyświetlanie wszystkich błędów smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
zagi195
post 14.08.2010, 16:30:25
Post #12





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 1.02.2010

Ostrzeżenie: (0%)
-----


ehh... głupio prosić jeszcze o pomoc.. tym razem problem z edycją, tzn. nie zmienia danych w mysql. Włączyłem wyświetlanie błędów ale nie ma w nich nic odnośnie tego.
  1. if ( $HTTP_POST_VARS["save_edit_serwers"] )
  2. {
  3. $post_serwers_ip = mysql_real_escape_string($HTTP_POST_VARS["serwers_ip"]);
  4. $post_serwers_name = mysql_real_escape_string($HTTP_POST_VARS["serwers_name"]);
  5. $post_serwers_hosting = mysql_real_escape_string($HTTP_POST_VARS["serwers_hosting"]);
  6. $post_serwers_id = mysql_real_escape_string($HTTP_POST_VARS["serwers_id"]);
  7.  
  8. $sql = "UPDATE " . SERWERS_TABLE . " SET serwers_ip = '".$post_serwers_ip."', serwers_name = '".$post_serwers_name."', serwers_hosting = '".$post_serwers_hosting."' WHERE serwers_id = '".$post_serwers_id."'";
  9. if( !$result = $db->sql_query($sql) )
  10. {
  11. message_die(GENERAL_ERROR, "Couldn't update serwers table", "", __LINE__, __FILE__, $sql);
  12. }
  13.  
  14. $message = $lang['Serwers_Edited'] . "<br /><br /><a href=\"".append_sid("admin_serwers.$phpEx?mode=view")."\">". sprintf($lang['Click_Here_Go_Back'] . "</a>");
  15. message_die(GENERAL_MESSAGE, $message);
  16. }


Wszystkie zmienne nie są puste. Zawierają dane które powinny zawierać tylko nie zmienia mi danych w bazie. No, dobra to ten sam błąd chyba, bo w zapytaniu nie ma tylko ID... a link tym razem nie wiem jaki jest... hmm...
To jest jako link chyba:
Cytat
"U_SERWERS_ACTION" => append_sid("admin_serwers.$phpEx"))

Dane w polach tekstowych mi wyświetla poprawnie, tam bierze ID wpisu a już przy wysyłaniu danych nie.

Ten post edytował zagi195 14.08.2010, 16:37:23
Go to the top of the page
+Quote Post
nospor
post 14.08.2010, 17:18:26
Post #13





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




formularz powinien miec pole serwers_id i tam ID. Masz coś takiego? patrzyles w źródle strony czy formularz zawiera poprawnie wypelnione to pole?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
zagi195
post 14.08.2010, 17:25:06
Post #14





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 1.02.2010

Ostrzeżenie: (0%)
-----


Tak, mam takie pole:
Cytat
<input type="hidden" name="serwers_id" value="{SERWERS_ID}" />

po zmianie typu na text pole jest puste.
Go to the top of the page
+Quote Post
nospor
post 14.08.2010, 17:25:59
Post #15





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No czyli ta wartosc ID nie jest tam wpisana. Musisz sprawdzić czemu.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
zagi195
post 14.08.2010, 17:28:52
Post #16





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 1.02.2010

Ostrzeżenie: (0%)
-----


No szukam... tutaj pliki. jeśli chciało by ci się przejrzeć
http://3paste.com/hash/d8457c298d694c3a83a0f31521901fb8
http://3paste.com/hash/0722cd197eaffb374b54e382848d9160
Go to the top of the page
+Quote Post
nospor
post 14.08.2010, 17:31:47
Post #17





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a mowilem bys wlaczyl wyswietlanie wszystkich bledow NAWET NOTICE!!

nie:
"SERWERS_ID" => $row["serwers_id"],
a:
"SERWERS_ID" => $get_serwers_id,


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
zagi195
post 14.08.2010, 17:36:37
Post #18





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 1.02.2010

Ostrzeżenie: (0%)
-----


ok, działa. Ale nie wiem czemu bo działa też mi na innej podstronie bez $get..
Go to the top of the page
+Quote Post
nospor
post 14.08.2010, 17:39:03
Post #19





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




pewnie w innej miales wypelnione $row tym co trzeba. Na tej stronie co podales kod nie miales tego wypelnionego tym co trzeba - to chyba logiczne. tongue.gif

Rownież logiczne jest, ze jak cię bardziej doswiadczeni proszą byś wlaczył wyswietlanie WSZYSTKICH bledow to chyba cos w tym jest, nie sądzisz?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 03:00