Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php,mysql] Problem z wyświetlaniem poprawnego kumunikatu
Forum PHP.pl > Forum > Przedszkole
dzięcioł
Cześć, mam pytanie - przy logowaniu na konto uzytkownika przenosze (zapisuje) przez sesje nastepujace dane:
  1. <?php
  2. ...
  3. $_SESSION["zalogowany"]="tak";
  4. $_SESSION["imie"]=$dane["imie"];
  5. $_SESSION["nazwisko"]=$dane["nazwisko"];
  6. $_SESSION["user"]=$dane["user"];
  7. $_SESSION["last_login"]=$dane["last_login"];
  8. ...
  9. ?>

następnie na swoim koncie uzytkownik ma mozliwosc m.in. wykasowania swoich wiadomosci z powiedzmy newsow. Wyglada to tak w moim przypadku:
  1. <?php
  2. ...
  3. echo"<a href=wiadomosc_usun_news.php?id_news=$id_news><font color=\"#D01B06\">usuń news</font></a>";
  4. ?>

na kolejnej stronie odbieram te dane tj. informacje o konkretnej wiadomosci:
  1. <?php
  2. include("wiadomosci.php");
  3. include("mysql_connect.php");
  4. include("iso.php");
  5. $id_news = $_GET['id_news'];
  6.  
  7. $zapytanie= mysql_query ("DELETE FROM $mysql_tabela WHERE user='".$_SESSION["user"]."' AND id_news='$id_news' limit 1") or 
  8. die ("Błąd w zapytaniu");
  9.  
  10. if ($zapytanie) {
  11. echo"Wiadomosc o nr <font color=\"#328BDD\">id: "; print"$id_news"; echo"</font> została usunięta z bazy.";
  12. } else {
  13. echo"Nie można usunąć wiadomosci o nr <font color=\"#328BDD\">id: "; print"$id_news"; echo"</font>. Proszę spróbować ponownie za parę minut. W przypadku ponownego wystąpienia 
    błędu proszę skontaktować się z administratorem <a href=\"kontakt.php\"><font color=\"#328BDD\">kontakt</font></a>."
    ;
  14. }
  15. ?>


No i w czym problem, otoz wszystko dziala niby ok, ale jak widac id_news przenosze get'em wiec gdy w pasku adresu zmienie np. id_news z 1 na 2 to skrypt niby sie wykonuje i pokazuje ze wiadomosc o nr id.... zostala usunieta, chodz tak naprawde nie zostala bo uzytkownik nie miala w swojej tabeli tego nr id_news. Jak zrobic aby wyswietlil sie komunikat ze nie zostal usuniety z bazy bo np. uzytkownik sie nie zgadza albo id_news ... mam nadzieje ze nie namotałem

pozdrawiam
dziecioł
tsharek
sprawdzaj mysql_affected_rows" title="Zobacz w manualu PHP" target="_manual czy jakieś rekordy zostały skasowane. jeżeli tak => wszystko ok, w przeciwnym razie jakiś komunikat o próbie włamania czy coświnksmiley.jpg
dzięcioł
Thx tsharek - skleiłem coś takiego:
  1. <?php
  2. include("wiadomosci.php");
  3. include("mysql_connect.php");
  4. include("iso.php");
  5. $id_news = $_GET['id_news'];
  6.  
  7. $zapytanie= mysql_query ("DELETE FROM $mysql_tabela WHERE user='".$_SESSION["user"]."' AND id_news='$id_news' limit 1") or 
  8. die ("Błąd w zapytaniu");
  9.  
  10. if ($zapytanie && mysql_affected_rows()==1) {
  11. echo"Wiadomosc o nr <font color=\"#328BDD\">id: "; print"$id_news"; echo"</font> została usunięta z bazy.";
  12. } else if (mysql_affected_rows()==0) {
  13. echo"Nie można usunąć wiadomosci o nr <font color=\"#328BDD\">id: "; print"$id_news"; echo"</font>. Wiadomosc o podanym nr <font color=\"#328BDD\">id</font> nie istnieje lub zostało już usunięte. W przypadku ponownego wystąpienia błę
    du proszę skontaktować się z administratorem <a href=\"kontakt.php\"><font color=\"#328BDD\">kontakt</font></a>."
    ;
  14. }
  15. ?>


no i fajnie działa, jak wklepie inne nr id wiadomosci to tez wyskakuje blad "Nie można ..." Tylko to takie troszku niedopieszczone ;-) myślałem że moze do tabeli uzytkownikow wprowadze pole blad, i teraz potrzebuje jeszcze porownac czy dany uzytkownik ma ogloszenie o takim id. Jesli tak to ok, jesli nie to wykonam skrypt ktory zwiekszy mu w tabeli pole blad o 1, i jak dojdzie do 3 zablokuje mu konto automatycznie. Co o tym sądzicie?

p.s. dobrze to zrobiłem powyżej?
tsharek
ja generalnie takie błędy olewam: niektórzy za często odświeżają przycisk "odśwież" nie patrząc co jest w pasku przeglądarki. czyli żadnego komunikatu/liczeniu błędów u mnie nie było i nie będzie:)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.