![]() |
![]() ![]() |
![]() |
-Gość- |
![]()
Post
#1
|
Goście ![]() |
Witam
Probuje zrobic usuwanie rekordow z bazy danych przez PHP tzn: mam na stronie liste zarejestrowanych uzytkownikow i chialbym zeby po nacisnieciu przycisku "Usun" ktory jest obok kazdego z nich usuwał wlasnie tego uzytkownika... ponizej wklejam to co mam ale nie chce działac nie wiedzac czemu:
pzdr |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 11.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Z rzeczy które mi rzucają się w oczy to masz źle zapytanie skonstruowane
mysql_query(" DELETE * FROM users WHERE user_id = '$_GET[d]' "); nie można robić czegoś takiego " " " " jezeli już to " ' ' " 2 nie musisz w zapytaniu dawac do elementu tablicowego ' ' [d] a już na pewno nie możesz robić tak ["d"] bo program nie wie gdzie kończy się zapytanie nie wiem tez co to jest $mysql_grip ale mniemam że to identyfikator polaczenia ja mam jeden na caly skrypt i nie musze czego takiego pisac a na samej gorze include do niego i dla wszystkich zapytan ty musisz to powtarzac do kazdego o ile oczywiscie mowimy o tym samym if(!empty($_GET["id"])) { mysql_query("DELETE FROM users WHERE user_id = ".$_GET["id"], $mysql_grip); } i po co ta kropka przy gecie tam nic nie laczysz echo masz tez zle pamietaj ze nie mozę być "" w "" a jesli juz jest to znak ucieczki \" \" w moim przekonaniu echem robic sie to tak $zmienna='dupa' echo '<br>'.$zmienna.'<br>' porownaj ze swoim kodem i popraw na ten wzorzec 3 rzecz jest taka ze nie filtrujesz GETa rownie dobrze moge ci tam wpisac dupa i jaka masz pewnosc ze uzytkownik bedzie robil wszystko tak jak sobie to wymysliles twojastrona.pl/d=kasujecibaze&f=musisztofiltrowac tak jak to teraz masz moge ci skasowac dowolnego uzytkownika z bazy,gdzie sprawdzasz czy usuwane id jest id osoby ktora to id posiada Kod include"twojepolaczenie.php"; if(isset($_SESSION['id']) && $_SESSION['id']==$_GET['id']){ if(!empty($_GET['id']) ) { $d=htmlspecialchars(strip_tags($_GET[id])); /* to masz pogladowo jakich funkcji musisz uzyc poczytaj np mysql_real_escape_string*/ mysql_query("DELETE FROM users WHERE user_id = '$_GET[id]'"); $mysql_result = mysql_query("SELECT * FROM users"); echo '<table>'; while($mysql_wynik = mysql_fetch_assoc($mysql_result)) { echo '<tr><td>'.$mysql_wynik[user_id].'</td><td>'.$mysql_wynik[user_name].'</td><td>'.$mysql_wynik[user_email].'</td> <td><input type=\'submit\' name=\'id\' onclick=\'document.location=wylogAdm.php?id='.$mysql_wynik[user_id].' value=\'Usuń\'></td></tr>'; }; echo '</table>'; }else{ echo 'Nie mozesz kasowac innych uzytkownikow'; } }else{echo'aby kasowac musisz sie zalogowac';}; /* rozumiem ze nie chciales prze echowac w while 3 razy table ale tego sie tak nie robi table wstaw w htrml a pomiedzy nim kod php i jak juz masz tak robic to zrob to w ten sposob chociaz lepiej nie kleic php z html*/ a i mysql nie ma czegos takiego jak DELETE FROM musisz okreslic co kasuje czyli np DELETE * *-wszystko lub nazwa_pola lub nazwa kilku pol pole,pole2,pole3 zrobil to na szybko na odpieprz wiec musisz dopracować życzę powodzenia w nauce a na pewno dasz rade Ten post edytował modziar 3.06.2011, 16:29:38 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.07.2025 - 03:47 |