Problème en mvc

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème en mvc

Re: Problème en mvc

par AB » 17 oct. 2010, 15:34

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.

Problème en mvc

par speed_001 » 17 oct. 2010, 09:35

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

par Ryle » 16 oct. 2010, 22:27

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']);
...

Re: Problème en mvc

par speed_001 » 16 oct. 2010, 22:08

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

par xTG » 16 oct. 2010, 22:03

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

Problème en mvc

par speed_001 » 16 oct. 2010, 21:23

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";
?>