To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

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



Powered by phpBB modified by Przemo © 2003 phpBB Group