Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]blokowanie uzytkownika
Forum PHP.pl > Forum > Przedszkole
gigzorr
witam. mam taki kawalek kodu:
  1.  
  2. $sql = "SELECT zablokowany FROM rejestracja WHERE nick_z_gry = '".$nick."'" or die(mysql_error());
  3. $result = mysql_query($sql);
  4.  
  5. if ($result == '1')
  6. {
  7. echo 'nie mozesz wyslac wiadomosci do tego uzytkownika';
  8. }
  9.  
  10. else {


i tam gdzie jest else to jest dalej insert itp , ze wyslalo , czyli zaczne od gory , sprawdza czy tabeli rejestracja w kolumnie zablokowany = 1 jak rowna sie 1 to ma wyskakiwac , ze nie mozna wyslac , a jak inne to else czyli ma sie wykonywac reszta skryptu , tylko , ze np. jak wpisze nick usera np. "bu" , ktory ma wartosc w kolumnie 1 to i tak idzie do niego wiadomosc, tzn pisze , ze wyslano , a nie , ze nie mozna wyslac wiadomosci.
Crozin
To już chyba Twój drugi wątek, w którym piszę: przeczytaj co zwraca mysql_query...
gigzorr
znow na ciebie trafilem smile.gif

mysql_query() zwraca identyfikator wyniku
piku235
Funkcje mysql_query() można nazwać bufforem danych dla zapytania sql w php. Przeszukaj bardziej manuala php to znajdziesz odpowiednią funkcje aby wyświetlić "zablokowany".
bastard13
Dajesz die w złym miejscu.
Konstrukcja:
cos or die();
to wyrażenie warunkowe i die wykonuje się wtedy, gdy cos jest równe false.
U ciebie jest przypisanie stringa do zmiennej, więc nigdy nie wykona się die(), ponieważ przypisanie zawsze zwróci true.
muk4
  1.  
  2. $sql = "SELECT `zablokowany` FROM `rejestracja` WHERE `nick_z_gry` = '$nick'";
  3. $result = mysql_query($sql) or die(mysql_error());
  4.  
  5. if (mysql_num_rows($result))
  6. {
  7. echo 'nie mozesz wyslac wiadomosci do tego uzytkownika';
  8. }
  9.  
  10. else {
gigzorr
muk4 robilem tak jak ty mi pokazales +
  1. if (mysql_num_rows($result) == 1)


bo przeciez w bazie domyslna jest 0 , a jak 1 to znaczy zablokowany , to non stop mam , ze nie udalo sie wyslac wiadomosci etc do tego uzytkownika , iz ma 0
Crozin
Cytat
mysql_query() zwraca identyfikator wyniku
OK, zacytować manual potrafisz, a teraz coś trudniejszego:
1) Czy identyfikator wyniku brzmi jak wartość pierwszej kolumny, pierwszego wiersza zwróconego wyniku?
2) Czy w See Also jest jakaś ciekawa funkcja opisana pobieżnie jako Fetch a result row as an associative array?
3) Czy ta funkcja (oczywiście o ile istnieje) jest udokumentowana wraz z ładnym przykładem użycia?
4) I w końcu - wracając nieco na początek... Czy w dokumentacji funckji mysql_query nie ma jakiejś wzmianki w stylu:
Cytat
The returned result resource should be passed to mysql_fetch_array(), and other functions for dealing with result tables, to access the returned data.


EDIT:
5) A popatrzyłeś może do czego służy mysql_num_rows, czy tylko jak Copy-Pasta?
bastard13
Przeczytaj to co ci napisał Crozin i nic więcej ci nie potrzeba.
Co do die() to stosowanie go z mysql_query ma zastosowanie tylko wtedy, gdy zapytanie może mieć złą składnię, wtedy funkcja zwraca false. W twoim wypadku funkcja zwraca jakiś wynik, nawet jeżeli nie zwracałaby żadnego wiersza.
gigzorr
Cytat(Crozin @ 24.07.2010, 18:19:02 ) *
OK, zacytować manual potrafisz, a teraz coś trudniejszego:
1) Czy identyfikator wyniku brzmi jak wartość pierwszej kolumny, pierwszego wiersza zwróconego wyniku?
2) Czy w See Also jest jakaś ciekawa funkcja opisana pobieżnie jako Fetch a result row as an associative array?
3) Czy ta funkcja (oczywiście o ile istnieje) jest udokumentowana wraz z ładnym przykładem użycia?
4) I w końcu - wracając nieco na początek... Czy w dokumentacji funckji mysql_query nie ma jakiejś wzmianki w stylu:

EDIT:
5) A popatrzyłeś może do czego służy mysql_num_rows, czy tylko jak Copy-Pasta?


1.nie
2.tak - mysql_fetch_assoc()
3.jest
4.jest
5.jak sama nazwa wskazuje zwraca ilosc wierszy?
Crozin
Ahh... pięknie odpowiedziałeś, teraz tak na podsumowanie: czy potrafisz te odpowiedzi zamienić na zmiany w kodzie? Czy w ogóle rozumiesz kod, który piszesz?
piku235
Ja powiem tak, już dam ci odpowiedź jak wyświetlić wartość 'zablokowany' z zapytania, jest taka funkcja jak mysql_result(). Miłego czytania smile.gif
gigzorr
Cytat(Crozin @ 24.07.2010, 19:51:48 ) *
Ahh... pięknie odpowiedziałeś, teraz tak na podsumowanie: czy potrafisz te odpowiedzi zamienić na zmiany w kodzie? Czy w ogóle rozumiesz kod, który piszesz?


szczerze ci odpowiem bo tego sie nie wstydze , nie do końca łapie ale próbuje, nie poddaje sie po pierwszej nie udanej probie.

Cytat(piku235 @ 24.07.2010, 19:52:12 ) *
Ja powiem tak, już dam ci odpowiedź jak wyświetlić wartość 'zablokowany' z zapytania, jest taka funkcja jak mysql_result(). Miłego czytania smile.gif


dziekuje , podstawilem , przeczytalem i dziala.

A jak czegos nie rozumiem to pytac?To mam pytanko:
  1. if(mysql_result($result, $row) == 1)


Mam takie cos , ale poco mi tutaj jakas $row?Przeciez i tak jej nigdzie nie zdefiniowalem tzn nie utworzylem?zmienna result to wiem czemu jest.Wiem jedyne , że bez niej kod nawala smile.gif
piku235
2 parametr $row w mysql_result() służy po to, aby określić, którą wartość wczytać z wybranych argumentów w zapytaniu SQL, możesz podstawić wartość 0 zamiast zmienną $row. Pokaże ci działanie parametru $row na prostym przykładzie. Masz zapytanie SQL
  1. $test = mysql_query("SELECT name, content, ... FROM tabela itd..");
i jak podstawisz za $row = 0 to wyświetli wartość kolumny name, jak dasz $row = 1 to wyświetli wartość kolumny content itd. Mam nadzieje, że w miarę zrozumiale napisałem. Ja zwykle stosuje mysql_result() jedynie jak potrzeba mi do wczytania 1 wartości z zapytania SQL tak jak w twoim skrypcie.
gigzorr
ok dziekuje , juz rozumiem , macie pomogl .
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.