> # sicherstellen, dass $this->User->id entfert wird
> $this->User->create();

das bringt mir aber nichts, weil nämlich mit "$this->set($data);" bei
Model::save die id $this->User->id wieder gesetzt wird!
set splittet dabei die übergebenen daten auf und prüft, ob der
primarykey dabei ist, wenn ja setzt die id.

ich übergebe also sagen wir folgendes per formular:

data[User][id] = 1
data[User][username] = the hacker
data[User][password] = md5('test')

dann wird bei save wie untenstehend die funktion set mit den
übergebenen daten $data gesetzt.

        function save($data = null, $validate = true, $fieldList = array()) {
                $db =& ConnectionManager::getDataSource($this->useDbConfig);

                $this->set($data);
........................................................................................................................................


        function set($one, $two = null) {
                if (is_object($one)) {
                        $one = Set::reverse($one);
                }

                if (is_array($one)) {
                        if (Set::countDim($one) == 1) {
                                $data = array($this->name => $one);
                        } else {
                                $data = $one;
                        }
                } else {
                        $data = array($this->name => array($one => $two));
                }

                foreach ($data as $n => $v) {
                        if (is_array($v)) {
                                foreach ($v as $x => $y) {
                                        if ($n == $this->name) {
                                                if 
(isset($this->validationErrors[$x])) {
                                                        unset 
($this->validationErrors[$x]);
                                                }

                                                if ($x === $this->primaryKey) {
                                                        $this->id = $y; // <=== 
hier wird $this->User->id wieder
gesetzt
                                                }
                                        }

                                        $this->data[$n][$x] = $y;
                                }
                        }
                }
                return $data;
        }

bye hajo


--~--~---------~--~----~------------~-------~--~----~
Sie erhalten diese Nachricht, weil Sie Mitglied sind von Google Groups-Gruppe 
"CakePHP-de für deutsche CakePHP Entwickler".
 Für das Erstellen von Beiträgen in dieser Gruppe senden Sie eine E-Mail
an [email protected]
 Um sich von dieser Gruppe abzumelden, senden Sie eine E-Mail an [EMAIL 
PROTECTED]
 Weitere Optionen finden Sie in dieser Gruppe unter 
http://groups.google.com/group/cakephp-de?hl=de
-~----------~----~----~----~------~----~------~--~---

Antwort per Email an