Page 1 sur 1

Problème en mvc

Posté : 16 oct. 2010, 21:23
par speed_001
Bonjour,

J'ai un petit problème de déclartion de variable avec mon contrôleur. En effet lorque la condition if est fausse tout fonctionne, mais lorque la condition est remplie, les variables ne sont pas définies.

J'ai effectué un include du premier formulaire (ou se trouve les inputs) à la page ou seront écrite les valeurs encodées, un second include de la page ou les valeurs sont encodées à mon modèle.

Quelqu'un saurait t'il m'aider pour déclarer correctement les variables dans le controleur?

Merci d'avance.

Ci joints les codes:
modèle:
<?php
include('controleur.php');

class reservation
{
	private $destination;
    private $place;
	private $assurance;

function __construct($destination,$place,$assurance)
{	
		$this->destination = $destination;
		$this->place = $place;
		$this->assurance = $assurance;
}	
	
function set_destination($destination)
{	
	
			
		$this->destination=$destination;
}				 
	
function set_donnee2($place)
{	
				
		$this->place=$place;
							
}	
function set_assurance($assurance)
{
		$this->assurance=$assurance;
}
function get_destination()
{
	return $this->destination;
}
function get_donnee2()
{
	
	return $this->place;	
}	


}

?>
contrôleur:
<?php

new reservation ('','','');


	if (isset($_POST['destination']) && (!is_numeric($_POST['destination'])) &&(!empty($_POST['destination']))) 
		{

	

		 echo"<b>Destination : </b>".$destination';
		}							
				else  echo"<b>Destination :</b> Introduisez une destination !  ";
	
	if (isset($_POST['place']) && (is_numeric($_POST['place'])) &&(!empty($_POST['place'])))/*Vérifie si variable existe, si est un nombre et différent de vide*/
				{
				
				 echo  "<b><br>Nombre de place : </b>".$place;
				}			
			else echo "<b><br>Nombre de place : </b> Introduisez un nombre de place !";

	if (isset($_POST['assurance'])==true)
			{
			echo "<br><b>Assurance :</b> oui";
			}
			else echo "<br><b>Assurance :</b> non";
?>

Re: Problème en mvc

Posté : 16 oct. 2010, 22:03
par xTG
De quel if parles-tu ?
Car je ne vois aucun lien entre ta classe réservation et ton traitement de formulaire.
Ainsi qu'aucun lien visible avec le contrôleur inclu.

Bref on ne risque pas d'inventer. :p

Re: Problème en mvc

Posté : 16 oct. 2010, 22:08
par speed_001
Le if se trouve dans le code du contrôleur. Pour le lien, j'ai fait un include dans le formulaire vers le contrôleur.

Merci d'avance.

Re: Problème en mvc

Posté : 16 oct. 2010, 22:27
par Ryle
Je suis pas sur de bien avoir compris ce que tu voulais faire, mais s'il s'agit juste de renseigner les attributs de ton instance, il te faut :
- stocker l'instance de ta réservation dans une variable
- faire appel aux setters que tu as défini (ou passer tes valeurs en arguments de ton constructeur)
...
$maReservation = new reservation('', '', '');
...
$maReservation->set_destination($_POST['destination']);
...

Problème en mvc

Posté : 17 oct. 2010, 09:35
par speed_001
Merci,

Ca fonctionne correctement, il n'y a pas de message d'erreur, mais les valeurs encodées dans le formulaire ne s'affiche pas.

Savez vous pourquoi? Faut t'il déclarer la variable get_post['destination'] dans le modèle?


Bien à vous.

Re: Problème en mvc

Posté : 17 oct. 2010, 15:34
par AB
Bah c'est pas le mvc qui te pose problème mais la POO. xTG puis Ryle t'ont donnés les premiers éléments de réponse. Tu peux suivre ce tuto pour aller plus loin.