Site de A à Z Jour 5 recuperer la value dans mes formulaires

Par plum59, il y a 13 ans


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

plum59, il y a 13 ans

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

Tackacoder, il y a 13 ans

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, il y a 12 ans

merci ca fonctionne