Ich hab hier ein Newssystem wo Benutzer Kommentare abgeben können. Ich
habe das Gefühl, dass die ID, die als erstes Argument angegeben wird,
auch als ID beim save() benutzt wird und somit kein INSERT mehr
stattfindet, sondern ein UPDATE. Da ich leider immer eine NewsId
angeben muss, um die Kommentare richtig zuordnen zu können komme ich
um den Parameter in der Funktion nicht herum :/
ich habe einmal $_POST ausgeben lassen und folgende Ausgabe gekriegt:
Array
(
[data] => Array
(
[NewsComment] => Array
(
[news_id] => 1
[user_id] => -1
[username] => kk
[text] => hh
)
)
)
das Sqlquery:
UPDATE `cake_news_comments` SET `news_id` = 1,`user_id` =
-1,`username` = 'kk',`text` = 'hh',`created` = 1186623639 WHERE `id`
IN (1)
Controller:
function add($news_id = null) {
if (!$news_id) {
$this->Session->setFlash('Invalid id for News
Comment.');
$this->redirect('/news/index');
}
if ($this->Session->check('User')) {
$session = $this->Session->read('User');
$userid = $session['user_id'];
} else {
$userid = -1;
}
$this->set('newsid', $news_id);
$this->set('userid', $userid);
if (empty($this->data)) {
$this->render();
} else {
$this->cleanUpFields();
if ($this->NewsComment->save($this->data)) {
$this->Session->setFlash('Das News-Kommentar
wurde erfolgreich
hinzugefügt.');
$this->redirect('/news_comments/index/' .
$news_id);
} else {
$this->Session->setFlash('Bitte korrigieren sie
die unten
stehenden Fehler.');
}
}
}
das View:
<h2>New News Comment</h2>
<form action="<?php echo $html->url('/news_comments/add/' . $newsid); ?
>" method="post">
<?php echo $html->input('NewsComment/news_id', array('type' =>
'hidden', 'value' => $newsid));?>
<?php echo $html->input('NewsComment/user_id', array('type' =>
'hidden', 'value' => $userid));?>
<?php if ($userid == -1): ?>
<div class="optional">
<?php echo $form->labelTag('NewsComment/username', 'Username');?>
<?php echo $html->input('NewsComment/username', array('size' =>
'60', 'maxlength' => '40'));?>
</div>
<?php endif; ?>
<div class="optional">
<?php echo $form->labelTag( 'NewsComment/text', 'Text' );?>
<?php echo $html->textarea('NewsComment/text', array('cols' => '60',
'rows' => '10'));?>
<?php echo $html->tagErrorMsg('NewsComment/text', 'Please enter the
Text.');?>
</div>
<div class="submit">
<?php echo $html->submit('Hinzufügen');?>
</div>
</form>
<ul class="actions">
<li><?php echo $html->link('News', '/news/index/');?></li>
</ul>
ich hoff auf Hilfe, ich verzweifel sonst
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
-~----------~----~----~----~------~----~------~--~---