Souhaite comprendre un code

Fermé
LATIFNignan Messages postés 6 Date d'inscription jeudi 14 janvier 2016 Statut Membre Dernière intervention 5 avril 2016 - 4 avril 2016 à 23:54
LATIFNignan Messages postés 6 Date d'inscription jeudi 14 janvier 2016 Statut Membre Dernière intervention 5 avril 2016 - 5 avril 2016 à 23:31
bonsoir comment allez vous? s'il vous plait je souhaiterais comprendre un bout de code, je voudrais donc solliciter de votre aide. je les trouver dans le main.php de mkframework
$iId=_root::getParam('id',null);
		if($iId==null){
			$oSoinlivrer=new row_soinlivrer;	
		}else{
			$oSoinlivrer=model_soinlivrer::getInstance()->findById( _root::getParam('id',null) );
		}
		
		
		
		
		$tColumn=array('matricule_p','matricule_d','id_ass','id_serv','date_serv','heure_serv','gratuit','assurer','num_bon','taux_prise_c');
		foreach($tColumn as $sColumn){
			$oSoinlivrer->$sColumn=_root::getParam($sColumn,null) ;
		}



Et voici la fonction entiére

private function processSave(){
	
		if(!_root::getRequest()->isPost() ){ //si ce n'est pas une requete POST on ne soumet pas
			return null;
		}
		
		$oPluginXsrf=new plugin_xsrf();
		if(!$oPluginXsrf->checkToken( _root::getParam('token') ) ){ //on verifie que le token est valide
			return array('token'=>$oPluginXsrf->getMessage() );
		}
	
		$iId=_root::getParam('id',null);
		if($iId==null){
			$oSoinlivrer=new row_soinlivrer;	
		}else{
			$oSoinlivrer=model_soinlivrer::getInstance()->findById( _root::getParam('id',null) );
		}
		
		
		
		
		$tColumn=array('matricule_p','matricule_d','id_ass','id_serv','date_serv','heure_serv','gratuit','assurer','num_bon','taux_prise_c');
		foreach($tColumn as $sColumn){
			$oSoinlivrer->$sColumn=_root::getParam($sColumn,null) ;
		}
		
		
		if($oSoinlivrer->save()){
			//une fois enregistre on redirige (vers la page liste)
			_root::redirect('programmer::list');
		}else{
			return $oSoinlivrer->getListError();
		}
		
	}
A voir également:

2 réponses

jordane45 Messages postés 38162 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 6 mai 2024 4 658
5 avril 2016 à 00:07
Bonjour,

Quelle partie ne comprends tu pas au juste ?
Par exemple pour :
$iId=_root::getParam('id',null);

Il suffit de lire la doc : http://mkframework.com/security.html

Pour
::getInstance()->findById(

http://mkframework.com/bigtutoriel_socialnetwork_V.html
http://mkframework.com/orm.html#sesrequetes
0
LATIFNignan Messages postés 6 Date d'inscription jeudi 14 janvier 2016 Statut Membre Dernière intervention 5 avril 2016 1
5 avril 2016 à 23:18
Bonsoir ! merci Jordane45 pour votre réponse. au juste ce que je comprend pas, c'est comment on récupère exactement les champs saisis dans les variables et comment les a on enregistrés. je voudrais comprendre la procédure afin de pouvoir modifier le code et insérer un code pour vérifier l’existence d'une occurrence. a ce propos,je vous explique un peu mon souci. au niveau de cette fonction j'enregistre des programmation de soins. j'aimerais pouvoir vérifier lorsque je tente d'enregistrer une autre programmation s'il n'existe pas une programmation du même médecin, à la date et à l'heure entré. veuillez si possible m'aider en me proposant un code enserrer dans cette fonction qui pourra m'aider.
0
LATIFNignan Messages postés 6 Date d'inscription jeudi 14 janvier 2016 Statut Membre Dernière intervention 5 avril 2016 1
5 avril 2016 à 23:26
voici le code que j'essai depuis mais en vin
private function processSave(){
	
		if(!_root::getRequest()->isPost() ){ //si ce n'est pas une requete POST on ne soumet pas
			return null;
		}
		
		$oPluginXsrf=new plugin_xsrf();
		if(!$oPluginXsrf->checkToken( _root::getParam('token') ) ){ //on verifie que le token est valide
			return array('token'=>$oPluginXsrf->getMessage() );
		}
	
		$iId=_root::getParam('id',null);
		if($iId==null){
			$oSoinlivrer=new row_soinlivrer;	
		}else{
			$oSoinlivrer=model_soinlivrer::getInstance()->findById( _root::getParam('id',null) );
		}
		
		
		
		$tColumn=array('matricule_p','matricule_d','id_ass','id_serv','date_serv','heure_serv','gratuit','assurer','num_bon','taux_prise_c');
		$mat=$tColumn->matricule_d;
		$dat=$tColumn->date_serv;
		$heur=$tColumn->heure_serv;
		
		$MyDate = explode('-',$dat);
		$MyHeur = explode(':',$heur);
		
		$nb=mysql_query("SELECT COUNT (*) FROM soinlivrer WHERE matricule_d='".$mat."' AND date_serv='".$MyDate[0].'-'.$MyDate[1].'-'.$MyDate[2]."' AND heure_serv='".$MyHeur[0].':'.$MyHeur[1].':'.$MyHeur[2]."' ");
		$nbs = $nb->fetch();
		if($nbs > 0)
		{
		return null;
		} 
		else{
		
		foreach($tColumn as $sColumn){
			$oSoinlivrer->$sColumn=_root::getParam($sColumn,null) ;
		}
		
		
		if($oSoinlivrer->save()){
			//une fois enregistre on redirige (vers la page liste)
			_root::redirect('programmer::list');
		}else{
			return $oSoinlivrer->getListError();
		}
		}
		
	}
0
LATIFNignan Messages postés 6 Date d'inscription jeudi 14 janvier 2016 Statut Membre Dernière intervention 5 avril 2016 1
5 avril 2016 à 23:31
voici le message d'erreur
0