Znamy już zwycięzców świątecznego konkursu PC Format. Zainteresowanych zapraszamy do odpowiedniego TEMATU

[Kohana 3] Wszystko działa na xaa a u mnie już nie

#1
[Kohana 3] Wszystko działa na xaa a u mnie już nie
No pisałem ten kod na swoim komputerze, wrzuciłem na xaa, wszystko działa. Chciałem podłubać przy tym kodzie, ogólnie podszkolić się w kohanie. Ściągnąłem cały skrypt, udało mi się skonfigurować serwer (uff...) i wszystko działało. Zacząłem zabierać się za zmiany. Po pierwsze - komentarze. Bardzo brakowało mi tutaj zapisywania IP i UA. Chciałem dodać przykładowy komentarz, żeby sprawdzić, czy wszystko działa...
[Obrazek: zrzutekranu60.th.png]

application/classes/model/news.php
Kod PHP:
<?php defined('SYSPATH') or die('No direct script access.');

class 
Model_News extends Model {

    public function 
get_news($id) {
        
$query DB::select()
                ->
from('news')
                ->
where('id''='$id)
                ->
order_by('id''desc')
                ->
execute()
                ->
as_array();
        return 
$query;
    }

    public function 
insert_comment($id$nick$content) {
        
        
$date date('d.m.Y H:i');
        
$query DB::query(Database::INSERT'INSERT INTO `news_comments` (`id`, `news_id`, `nick`, `content`, `date`) VALUES (0, :id, :nick, :content, :date)')
                 ->
bind(':id'$id)
                 ->
bind(':nick'addslashes($nick))
                 ->
bind(':content'addslashes($content))
                 ->
bind(':date'$date);
        
$query->execute();


        
$query DB::query(Database::UPDATE"UPDATE `news` SET `comments` = comments + 1 WHERE `id` = :id")
                 ->
bind(':id'$id);
        
$query -> execute();
    }
    
    public function 
get_comments($id) {
                
$query DB::select()
                ->
from('news_comments')
                ->
where('news_id''='$id)
                ->
order_by('id''desc')
                ->
execute()
                ->
as_array();
        return 
$query;
    }

    public function 
get_news_by_category($category_id) {
                
$query DB::select()
                ->
from('news')
                ->
where('category''='$category_id)
                ->
order_by('id''desc')
                ->
execute()
                ->
as_array();
        return 
$query;
    }

    public function 
get_news_categories() {
                
$query DB::select()
                ->
from('news_categories')
                ->
order_by('id''desc')
                ->
execute()
                ->
as_array();
        return 
$query;
    }



Jak widać kiedy to pisałem miałem problemy z dodawaniem komentarza i ręcznie pisałem SQL.
 System operacyjny: linux Przeglądarka: firefox
#2
RE: [Kohana 3] Wszystko działa na xaa a u mnie już nie
W takich sytuacjach, gdy nie potrzeba używania referencji to korzystaj z metody set() zamiast bind(). Poza tym jeśli $nick jest pobierany z tablicy $_POST albo $_GET to nie musisz już tego filtrować bo Kohana sama używa metody sanitize() do wyeliminowania złośliwego kodu.

I błagam ludzie, nie wrzucajcie tych screenów na ImageShack bo to mordęga nawet dla neta 2Mb/s.
[Obrazek: musicbar.php?username=hatesz&color=red&u...unicode=no]
 System operacyjny: windows_seven Przeglądarka: chrome
#3
RE: [Kohana 3] Wszystko działa na xaa a u mnie już nie
No ciekawe... Jakoś bez tego Fifu mi się włamał Oczy

Poza tym to jest model.
Kod:
ErrorException [ Fatal Error ]: Call to undefined method Database_Query::set()
 System operacyjny: linux Przeglądarka: firefox
#4
RE: [Kohana 3] Wszystko działa na xaa a u mnie już nie
Z tym set to faktycznie wypaliłem, pomyliło mi się z innym konstruktorem.
Co do drugiego to - http://forum.kohanaframework.org/discuss...o-on.../p1
[Obrazek: musicbar.php?username=hatesz&color=red&u...unicode=no]
 System operacyjny: windows_seven Przeglądarka: chrome
#5
RE: [Kohana 3] Wszystko działa na xaa a u mnie już nie
Dobra, wywaliłem zabezpieczenia i działa. Ale teraz nie jest to zabezpieczone... To co napiszę to skrypt łyka i przepisuje do bazy znak w znak Kwaśny
 System operacyjny: linux Przeglądarka: firefox
#6
RE: [Kohana 3] Wszystko działa na xaa a u mnie już nie
Jaką masz wersję Kohany? W 3.0.9 na pewno już jest sanitize automatycznie robione. Zobacz okolice linii 360 w pliku "SYSPATH/classes/kohana/core.php".

Kod PHP:
$_GET    Kohana::sanitize($_GET);
$_POST   Kohana::sanitize($_POST);
$_COOKIE Kohana::sanitize($_COOKIE); 
[Obrazek: musicbar.php?username=hatesz&color=red&u...unicode=no]
 System operacyjny: windows_seven Przeglądarka: chrome
#7
RE: [Kohana 3] Wszystko działa na xaa a u mnie już nie
[http://wklej.org/id/481819/]

Jak widać nic takiego nie ma. A jaką mam wersję kohany nie wiem, bo usunąłem ten plik podczas instalacji, a w plikach tego nie ma.

--
Aaa, w tym pliku jest Szczerbol
3.0.7
 System operacyjny: linux Przeglądarka: firefox
#8
RE: [Kohana 3] Wszystko działa na xaa a u mnie już nie
To zobacz na linijkę 299, a potem na 411.
[Obrazek: musicbar.php?username=hatesz&color=red&u...unicode=no]
 System operacyjny: windows_seven Przeglądarka: chrome
#9
RE: [Kohana 3] Wszystko działa na xaa a u mnie już nie
No dobra, jest, ale nie działa.

--
Czy to przez to, że nie wprowadzam danych z tablicy $_POST?

--
Chyba wiem, w czym problem. Zaktualizowałem kohanę do 3.1 i błąd dalej występuje. Więc z samą kohaną wszystko w porządku. A więc problem musi leżeć w modelu. To ma sens, bo zapytania układałem na sztywno... Jak powinienem to zrobić, żeby było normalnie, tak jak pozostałe zapytania do wyciągania danych? Proszę zwrócić uwagę na funkcję insert_comment.

[http://wklej.org/id/484425/]
 System operacyjny: linux Przeglądarka: firefox
#10
RE: [Kohana 3] Wszystko działa na xaa a u mnie już nie
Kod PHP:
DB::insert('news_comments', array('news_id''nick''content''date'))->values(array($id$nick$content$date))->execute(); 

Na jaką cholerę dodajesz wartość 0 dla "id" skoro za pewne jest automatycznie podnoszone?
[Obrazek: musicbar.php?username=hatesz&color=red&u...unicode=no]
 System operacyjny: windows_seven Przeglądarka: chrome
Programy: Polecane / Nowe / Inne




Podobne wątki ([Kohana 3] Wszystko działa na xaa a u mnie już nie)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Jak zapisać całą treść strony internetowej ( czyli wszystko co mam wyświetlone na ekranie) liver128 5 3341 19.05.2014, 11:11
Ostatni post: FunkYoSelf
  jak dodać phpBB do kohana 2 framework qasw 0 3524 26.03.2014, 15:47
Ostatni post: qasw
  Błąd na stronie - u mnie jest ok a u kolegi już nie daymon 5 898 30.08.2013, 13:09
Ostatni post: daymon

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości

Wybrane wątki ([Kohana 3] Wszystko działa na xaa a u mnie już nie)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Dobry program do pozycjonowania armind 10 7750 08.03.2015 13:13
Ostatni post: benek56
  Brak przycisku EDYTUJ i niesprawne BBCode Tazz 1 1935 08.03.2015 10:15
Ostatni post: raxer
  Aktualizacja myBB z 1.6.13 do 1.8 MrBoombastic 11 5778 07.03.2015 15:51
Ostatni post: MrBoombastic
  WordPress dodanie pozycji do menu Tazz 0 1839 05.03.2015 18:29
Ostatni post: Tazz
  JS - własna metoda giertych97 4 2996 05.03.2015 17:44
Ostatni post: hatesz
  Problem z instalacją AUTOModa Tazz 0 1857 05.03.2015 17:22
Ostatni post: Tazz
  Wybór nowego silniku strony klanowej Tazz 6 1952 05.03.2015 16:49
Ostatni post: Tazz
  Zmiana koloru w theme dla Wordpress Tazz 2 1926 05.03.2015 13:12
Ostatni post: Tazz
Scared Dodawanie kolejnej domeny na hosting skrobi2 5 2078 04.03.2015 17:26
Ostatni post: breko
  Zabezpieczenie strony przed spamem Tazz 20 6275 04.03.2015 16:48
Ostatni post: raxer
  Wybór edytora HTML ser-x7 1 1726 03.03.2015 21:09
Ostatni post: koneton
Exclamation Domowy serwer (np: Xampp) i darmowa domena na dot.tk lub freenom.com daniodudis 2 2221 24.02.2015 20:31
Ostatni post: Ajgor
Exclamation problem z przeniesieniem strony skrobi2 1 2095 24.02.2015 17:00
Ostatni post: daniodudis
  Rejestracja w serwisie (swojej stronie) po dokonaniu przelewu - jakie narzędzie? dawswi1 3 1961 22.02.2015 17:09
Ostatni post: hatesz
  Jakich technologii użyć do stworzenia prostej listy zakupów? jurek2 2 708 18.02.2015 23:58
Ostatni post: jurek2