Bonjour tous le monde , j'ai un soucis qu'en à la récupération de mes values dans mais input de ma class Form
en effet j'ai une erreur :
Notice: Trying to get property of non-object in C:\UwAmp\www\windows\core\Form.php on line 22

Voici mon code de cette classe :

<?php
class Form{

public $controller;

public function __contruct($controller){
$this->controller = $controller;
}

public function input($name,$label,$options = array()){
if($label == 'hidden'){
return '<input type="hidden" name="'.$name.'" value="'.$this->controller->request->data->$name.'">';
}
$html = '<div class="clearfix">
<label for"input'.$name.'">'.$label.'</label>
<div class="input">';
$attr = ' ';
foreach($options as $k=>$v){ if($k!='type'){
$attr .= " $k\"$v\"";
}}
if(!isset($options'type'])){
$html .= '<input type="text" id="input'.$name.'" name="'.$name.'" value="'.$this->controller->request->data->$name.'" '.$attr.'>';

}elseif($options'type'] == 'textarea'){
$html .= '<textarea id="input'.$name.'" name="'.$name.'" '.$attr.'>'.$this->controller->request->data->$name.'</textarea>';

}elseif($options'type'] == 'checkbox'){
$html .= '<input type="hidden" name"'.$name.'" value="0"><input type="checkbox" name"'.$name.'" value="1"/>';
}
$html .= '</div></div>';
return $html;

}
}

?>

et voici le code de ma fonction dans mon controller :

function admin_edit($id = null){
$this->loadModel('Wincident');
if($this->request->data){
$this->Wincident->save($this->request->data);
$id = $this->Wincident->id;
}
$this->request->data = $this->Wincident->findFirst(array(
'conditions' => array('id'=>$id)
));

}

sachant que mon Wincident correspond a mon model Wincident (Post, dans le tuto)

auriez vous une idée , il y a bien un findFirst array donc normalement mes variables sont bien initialisées objets.

merci d'avance

3 réponses


Tackacoder
Réponse acceptée

Bonjour,
On dirait que ton objet request n'est pas instancié...

public function __contruct($controller){
$this->controller = $controller;
debug($this->controller->request);
}

Tu obtiens quelque-chose ?

plum59
Auteur

pourtant si je fait un debug de ($this->request->data->contenu) par exemple directement dans mon admin_edit.php il l'affiche mais il ne la reconnait pas dans Form.php

si ca peut aider j'ai egalement cette erreur
Notice: Undefined property: Form::$request in C:\UwAmp\www\windows\core\Form.php on line 16

plum59
Auteur

merci ca fonctionne