Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php,mysql] Problem z wyświetlaniem poprawnego kumunikatu
-dzięcioł-
post 3.11.2007, 09:57:18
Post #1





Goście







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ł
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
tsharek
post 3.11.2007, 10:36:06
Post #2





Grupa: Zarejestrowani
Postów: 300
Pomógł: 1
Dołączył: 22.09.2003
Skąd: Czeladź

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


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


--------------------
Go to the top of the page
+Quote Post
-dzięcioł-
post 3.11.2007, 13:44:58
Post #3





Goście







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?
Go to the top of the page
+Quote Post
tsharek
post 3.11.2007, 16:23:32
Post #4





Grupa: Zarejestrowani
Postów: 300
Pomógł: 1
Dołączył: 22.09.2003
Skąd: Czeladź

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


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:)


--------------------
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: 19.07.2025 - 10:01