Főoldal   Súgó Bejelentkezés Regisztráció  
Üdvözlünk, Vendég. Kérlek jelentkezz be vagy regisztrálj.

Jelentkezz be a felhasználóneveddel, jelszavaddal és add meg a munkamenet hosszát
1 évet fizetsz kettőt kapsz a CakePHP tárhely programban!
Silver csomag pl.: 1000MB tárhely, MySQL vagy PostgreSQL.
.hu domain címmel - 12.900 Ft + Áfa / 2év
Hírek: Exkluzív bejelentés CSAK CakePHP.hu fórumlátogatóknak!  Általános blabla...
Oldalak: [1]   Le
Nyomtatás
Téma: Rekord mentése  (Megtekintve 194 alkalommal)
« Dátum: 2011. December 05. - 16:14:39 »
airween Nem elérhető
Újonc

Profil megtekintése E-mail
*
Hozzászólások: 16



Hello,

nem igazán használok Cake-et, most van egy feladatom egy már meglevő (működő) projektben: a keresési mintákat le kell menteni egy táblába.

Így csináltam:
- létrehoztam a táblát:
Kód:
CREATE TABLE  `kereses_mentes` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `q` char(255) NOT NULL,
  `category_id` int(10) NOT NULL,
  `type_id` int(10) NOT NULL,
  `page_size` int(15) NOT NULL,
  `kereses_idopontja` datetime NOT NULL,
  PRIMARY KEY (`id`),
  KEY `q` (`q`),
  KEY `category_id` (`category_id`),
  KEY `type_id` (`type_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

- készítettem egy modellt:
Kód:
cat app/models/kereses_mentes.php
<?php

class Kereses_mentes extends AppModel {
    var 
$name 'Kereses_mentes';
}

?>

- a kontrollerben így hívom:
Kód:
  $this->sdata = array(
    'Kereses_mentes' => array(
      'id' => 0,
      'q' => $this->data['q'],
      'category_id' => (!empty($this->data['category_id'])) ? $this->data['category_id'] : 0,
      'type_id' => (!empty($this->data['type_id'])) ? $this->data['type_id'] : 0,
      'page_size' => (!empty($this->page_size)) ? $this->page_size : 0,
      'kereses_idopontja' => date("Y-m-d H:i:s")
    )
  );
 $this->Kereses_mentes->save($this->sdata);

Viszont a kód nem működik Szomorú

A Cake dob egy 500-es server errort, és semmi nem látszik az oldalon. Ha a config.php-ban a
Kód:
Configure::write('debug', 2);
értéket állítom be, akkor ezt kapom:

Kód:
Fatal error: Class 'Debugger' not found in /home/webroot/myapp/cake/libs/security.php on line 53


Merre keresgéljek? Bármilyen ötletet szívesen veszek.

Köszönöm:


a.
Naplózva
« Válasz #1 Dátum: 2011. December 05. - 18:05:00 »
sipiatti Nem elérhető
Újonc

Profil megtekintése E-mail
*
Hozzászólások: 43



látszólag hiányos a cake telepítés, nézd meg hogy létezik-e a fájl és hogy olvasható-e. ha nem, akkor keresd ki a cakephp verzióját, szedd le azt a verziót a cakephp oldaláról, és másold fel az egész lib könyvtárat, hogy menjen a debugger.

egyébként a cakephp erős névkonvenciókat használ, lehet hogy a kontroller nem találja meg a modelfájlt. ilyenkor explicit meg kell neki mondani, melyik model tartozik ahhoz a kontrollerhez.
infó: http://book.cakephp.org/view/901/CakePHP-Conventions
Naplózva
« Válasz #2 Dátum: 2011. December 05. - 18:40:50 »
airween Nem elérhető
Újonc

Profil megtekintése E-mail
*
Hozzászólások: 16



Kód:
Hello,

köszi a választ,

[quote author=sipiatti link=topic=379.msg1250#msg1250 date=1323104700]
látszólag hiányos a cake telepítés, nézd meg hogy létezik-e a fájl és hogy olvasható-e. ha nem, akkor keresd ki a cakephp verzióját, szedd le azt a verziót a cakephp oldaláról, és másold fel az egész lib könyvtárat, hogy menjen a debugger.

A cake elég régi telepítés, eddig (állítólag) ment minden - egyébként egy elég régi cake, 1.10.xx-es...

A fájlok egyébként megvannak, mind  security ott van (hiszen ez hivatkozik a Debugger-re), de ott van vele egy könyvtárban a debugger.php is.

egyébként a cakephp erős névkonvenciókat használ, lehet hogy a kontroller nem találja meg a modelfájlt. ilyenkor explicit meg kell neki mondani, melyik model tartozik ahhoz a kontrollerhez.
infó: http://book.cakephp.org/view/901/CakePHP-Conventions

Köszi, ezt megnézem, bár igyekeztem a meglevő kód alapján csinálni.

a.
Naplózva
« Válasz #3 Dátum: 2011. December 05. - 18:53:45 »
airween Nem elérhető
Újonc

Profil megtekintése E-mail
*
Hozzászólások: 16



Hello,

egyébként a cakephp erős névkonvenciókat használ, lehet hogy a kontroller nem találja meg a modelfájlt. ilyenkor explicit meg kell neki mondani, melyik model tartozik ahhoz a kontrollerhez.
infó: http://book.cakephp.org/view/901/CakePHP-Conventions

átírtam a konvenciót, most sima "Mentes" a modell neve, mentes.php a fájl neve, de így sem megy. Ha a kontrollerben a $uses-be felveszem a "Mentes"-t, akkor bejön a főoldal, de utána 404-re dob. Ha kiveszem a $uses-ből, akkor viszont nem találja a modellt.

Egyéb ötlet?


Köszönöm:

a.
Naplózva
« Válasz #4 Dátum: 2011. December 12. - 10:40:29 »
sipiatti Nem elérhető
Újonc

Profil megtekintése E-mail
*
Hozzászólások: 43



és amikor 404, akkor mit nem talál pontosan?
a rewrite szabályok milyenek? ha a default akkor az rendben van, de lehet vmi nem kerek ott
Naplózva
« Válasz #5 Dátum: 2011. December 12. - 12:37:49 »
rrd Nem elérhető
Adminisztrátor
Teljes tag

Profil megtekintése WWW E-mail
*****
Hozzászólások: 206



Ha jól rémlik az 1.1-es cake még régi PHP verzióhoz készült és valami ojjektum hívásokat máshogyan csinál mint ahogy az új PHP elvárja.

A kézikönyv migrating része talán segíteni fog.
Naplózva
« Válasz #6 Dátum: 2011. December 12. - 13:20:41 »
airween Nem elérhető
Újonc

Profil megtekintése E-mail
*
Hozzászólások: 16



Ha jól rémlik az 1.1-es cake még régi PHP verzióhoz készült és valami ojjektum hívásokat máshogyan csinál mint ahogy az új PHP elvárja.

A kézikönyv migrating része talán segíteni fog.

Igen, ahol fut ez az alkalmazás, ott 5.3-as PHP van, átraktam egy 5.2-esre, és elindult a debug... Mosolyog
Ill megoldottam úgy az eredeti problémát, hogy nem csináltam explicit modellt (valahol olvastam a Cake oldalán, hogy ha csak hivakozom rá, akkor a base modellt fogja használni más néven), de az adatbázisban létrehoztam a táblát, és így működik is.

Egy probléma van még, szükségem van a bejelentkezett felhasználó nevére, ezt így olvasom ki:
Kód:
$username = $this->Session->read('Auth.User.username');

Viszont ilyenkor néhány kattintás után "kidob" az alkalmazás.

Ez mitől lehet?
Naplózva
« Válasz #7 Dátum: 2011. December 12. - 13:33:06 »
rrd Nem elérhető
Adminisztrátor
Teljes tag

Profil megtekintése WWW E-mail
*****
Hozzászólások: 206



nézd meg a core.php-ban a security.level és a session.timeout értékeket. Nem kéne hogy kidobjon.
Naplózva
« Válasz #8 Dátum: 2011. December 12. - 13:38:48 »
airween Nem elérhető
Újonc

Profil megtekintése E-mail
*
Hozzászólások: 16



nézd meg a core.php-ban a security.level és a session.timeout értékeket. Nem kéne hogy kidobjon.
Az éles környezetben kifogástalanul működik, nem dob ki. Ua-zt a kódot másoltam le, és most akár ki van kommentezve az én kódom, akár nem, a tesztben kidob Szomorú
Nem változott sem a security.level, sem a session.timeout.
Naplózva
« Válasz #9 Dátum: 2011. December 12. - 14:35:47 »
rrd Nem elérhető
Adminisztrátor
Teljes tag

Profil megtekintése WWW E-mail
*****
Hozzászólások: 206



akkor valószínűleg valami php.ini beállítás lesz
Naplózva
Oldalak: [1]   Fel
Nyomtatás
Ugrás:  

2007 CakePHP Magyarország Fóruma
Powered by SMF 1.1.4 | SMF © 2006, Simple Machines LLC
Magyar fordítás: SMF Magyarország
| Üzemelteti / Hosting: Elite Media     -     Támogatóink: Loovers Szexshop | És a HHO generátor