![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam problem ponieważ tworzę coś w stylu "linków polecających" które będą dodawać pkt dla usera po którego linku (polecajacym) ktoś trafi na stronę ale aby zabezpieczyć to przed "nabijaniem" takich punktów chciałem stworzyć dość proste zabezpieczenie (ip, data). Struktura bazy: Kod +referer -ip -data (YYYY-MM-DD) Oto kod całego pliku referer.php:
Bardzo proszę o pomoc bo nic sie nie wyświetla, ciągle jest biała strona. mysql_error(); także nic nie wyświetlił. Ten post edytował bl4ck_b0x 21.05.2008, 07:26:51 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Może dodaj do zapytania or die(mysql_error());
Powinno byc:
Zresztą nie wiem do czego ci ten warunek else if, skoro stworzyłeś już if-a, który sprawdza czy dany user nie głosował już. Ten post edytował potreb 21.05.2008, 07:40:16 -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Hmm co najdziwniejsze nic nie umieszcza w bazie... w ogóle zrobiłem w while echo 'a'; żeby sprawdzić czy działa w ogóle while i niestety nie działa :/
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Ale po co tak komplikować...?
Nie możesz zrobić zapytania, które bezpośrednio wyciąga konkretnego użytkownika, tylko przerabiasz całą tabelę...? Dorzuć WHERE na sprawdzaniu adresu IP gościa. Potem sprawdzasz, czy są rekordy, jeśli są - sprawdzasz datę i ifem, jeśli się zgadza - komunikat, że było, w przeciwnym wypadku - dodaj do bazy.
Po co Ci dwa razy ten sam kawałek kodu w różnych warunkach, skoro równie dobrze wystarczy Ci samo else...? -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
właśnie chodzi o to, że z tabeli użytkownicy wyciągam tylko ilość pkt a punkty będą dodawane przez gości dlatego chce żeby było to zapisywane na bazie (data,ip) nastepnie sprawdzanie czy istnieje takie ip, nastepnie jesli istnieje ale punkty dodawal 24 godziny temu (czyli dzien wczesniej) to powinno sie dodac, jesli nie to wyswietla ze juz zostaly dodane punkty.
p.s. sprawdze to co napisales (przerobie to pod ten skrypt) |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
No, ja rozumiem, ale po co przeskakujesz wszystkie rekordy via PHP za każdym razem, skoro możesz skonstruować odpowiednie zapytanie...?
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
ok mam takie zapytanie
ale nadal nie dziala.. ;/ cholera nie wiem co jest nie tak... Ten post edytował bl4ck_b0x 21.05.2008, 08:37:36 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat ale nadal nie dziala.. ;/ Nie siedzę przed Twoim komputerem i nie wiem, w jaki sposób "nie działa"... Zwraca jakiekolwiek rekordy? Wysypuje system? Zawiesza interpreter, nic nie robi, może wysypał fusy po Twojej kawie? ![]() -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
dobra bez jaj
![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Wklej swój poprawiony kod. Daj na początku skryptu error_reporting(E_ALL);
-------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
kodzik:
p.s. jesli jest w zapytaniu WHERE r.ip="'.$ip.'" to i tak nie działa... Ten post edytował bl4ck_b0x 21.05.2008, 09:01:11 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Ok, trywialne pytanie, ale jak Ty ten skrypt wywołujesz?
Daj dla $query po:
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
var_dump wywalił mi coś takiego:
resource(4) of type (mysql result) A skrypt wywołuje normlanie na localhost: http://localhost/~sklepik/referer.php?p=1 p <- p jest potrzebne jako określenie id uzytkownika bo chce dodawać PKT do konkretnego uzytkownika (sugerujac sie id) Ten post edytował bl4ck_b0x 21.05.2008, 09:08:37 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Ja nie mogę, dopiero teraz wpadłem...
Uwzględnij w nazwach kolumn ($result) nazwy tabel, np:
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
dalej to samo ;/ juz nie mam sil do tego skryptu..
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A zmieniłeś analogicznie w pozostałych miejscach skryptu?
Jak tak, to na $result w pętli... -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
zobacz:
ciagle biala strona... |
|
|
![]()
Post
#18
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Ustawienie:
nie załatwia sprawy. Warto sobie uświadomić, że dzięki temu błędy będą raportowane a to nie znaczy wyświetlane. Raportować można na wiele sposobów. Aby błędy wyświetliły się na stronie należy dodać:
To tak OT :-) Poza tym funkcja mysql_fetch_array() wyrzuci błąd jeśli zapytanie nie zwróci żadnych wyników. Zanim przekażesz uchwyt do wyników do tej funkcji sprawdź czy są wyniki: mysql_num_rows() |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 21.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
mysql_num_rows wywala mi 0. a co do tego ini_set('display_errors', 1); to nic sie niewyswietla...
|
|
|
![]()
Post
#20
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
mysql_num_rows wywala mi 0. No to po sprawie. Jeśli jest zero to przeskakujesz pętlę while a jeśli więcej niż zero to do niej wchodzisz. Nie możesz korzystać z mysql_fetch_* jeśli jest zero wyników.a co do tego ini_set('display_errors', 1); to nic sie niewyswietla... No to masz coś nie tak z ustawieniami serwera. Napisanie na początku: zwyczajowo wystarcza żeby zobaczyć błędy. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.07.2025 - 23:11 |