Problem z modyfikacją - Problem z beer mod 2.4
kasztanek9994 - 18-02-2014, 13:13 Temat postu: Problem z beer mod 2.4 Witam. Postanowiłem wznowic moją stronę lecz mam problem. Po wejściu w beermod.php wywala mi 2 błędy:
Warning: Illegal string offset 'user_id' in /homepages/5/d490925580/htdocs/poryte/beermod.php on line 356
Warning: Illegal string offset 'user_id' in /homepages/5/d490925580/htdocs/poryte/beermod.php on line 380
Dodam jeszcze, że backup pochodzi z 2012 roku i forum nie było aktualizowane do najnowszej wersji.
Jedyne co wykonałem to ten kod bo miałem problemy z krzaczkami.
Kod: | otwórz plik: /db/mysql4.php i znajdź:
Kod:
$dbselect = mysql_select_db($this->dbname);
Dodaj pod:
Kod:
mysql_query('SET NAMES latin2 COLLATE latin2_general_ci', $this->db_connect_id);
Zapisz plik i wyślij na serwer zamieniając za stary.
Otwórz plik: /db/mysql.php i znajdź:
Kod:
$dbselect = @mysql_select_db($this->dbname);
Dodaj pod:
Kod:
mysql_query('SET NAMES latin2 COLLATE latin2_general_ci', $this->db_connect_id); |
Proszę o pomoc
Podsyłam w załączniku plik beermod.php
ps. wgrywałem czysty plik z paczki, ale to nie załatwiło sprawy, czy to możliwe, że błąd siedzi po stronie bazy danych ?
wojtalakk2 - 18-02-2014, 16:32
Spójrz tu : http://przemo.org/phpBB2/...ic.php?t=149969
kasztanek9994 - 18-02-2014, 17:33
zerkałem tam, ale nic ciekawego nie znalazłem. Ten beermod z tego co widzę w kodzie jest do tego przystosowany
Boltex - 19-02-2014, 11:23
Aby uzyskać pomoc wymagany jest adres forum z problemem. Podaj pełny, realny adres forum, z http:// (klikalny!), nie używaj aliasów. Adres ma być w profilu lub w treści posta. Jesli masz kilka forów, napisz którego problem dotyczy! Jeśli tego nie zrobisz Twój post zostanie usunięty! |
kasztanek9994 - 19-02-2014, 12:17
http://rubensmodels.com/poryte/beermod.php <-- Podaje adres tymczasowy.
[ Dodano: 19-02-2014, 23:05 ]
a więc tak. Usunąłem 2x $row['user_id'] < 2 || z pliku beermod.php i nie wywala błędu.
Piwa można postawić niby nic się nie stało.
ktoś ogarnięty w php może mi powiedzieć, czy bardzo były potrzebne te 2 frazy " $row['user_id'] < 2 || "
?
Gdyby komuś nie chciało się ściągać załącznika wysyłam to w linku z kolorwaniem PHP
http://wklej.org/hash/5b5d980a53c/
LINIA: 380 + 356
Powinna wyglądać (oryginał) - if ( $row['user_id'] < 2 || !is_array($row) )
a wygląda if ( !is_array($row) )
Pozdrawiam i liczę na odpowiedź
d!r3k - 19-02-2014, 23:24
kasztanek9994 napisał/a: | $row['user_id'] < 2 |
teraz "gość" może postawić piwo.
kasztanek9994 - 19-02-2014, 23:27
Bo mam zrobione ajaxowe stawianie piwek i nie da się postawić piwka będąc niezalogowanym , ale czy to nie wypływa na bezpieczeństwo ?
sam zobacz, że klikając na czaszkę wyświetla się komunikat: http://rubensmodels.com/poryte/poryty.php
to samo w postach: http://rubensmodels.com/poryte/1877.htm
Dziękuje za odpowiedź
[ Dodano: 20-02-2014, 15:06 ]
Dziękuje za pomoc, a w szczególności użytkownikom : kevin_ , maminowiec
Rozwiązanie problemu:
Kod: |
Zamien:
if ( $row['user_id'] < 2 || !is_array($row) )
Na to:
if ( ( isset($row['user_id']) AND $row['user_id'] < 2 ) || !is_array($row) )
|
|
|
|