<?php
// Partie modèle
// ...
$res = mysql_query($sql); // on récupère les données d'une base de données
// ...
$file = fopen('monFichier.txt','r'); // ou bien d'un fichier
// ...
// Partie Contrôleur
// ...
$data['date'] = date('Y-m-d H:i:s', $data['timestamp']); // on traite une donnée
//...
// ou bien une autre
if( $data_fichier['compteur'] > 5 )
$flag_compteur = true;
else
$flag_compteur = false;
// ...
// Partie Vue
// ...
echo $data['date'];
// ..
if( $flag_compteur === true )
echo '<div class="conteneur success">' . $data_fichier['compteur'] . '</div>';
else
echo '<div class="conteneur">' . $data_fichier['compteur'] . '</div>';
// ...
require_once MODELS.'actualites.php';
if(isset($_POST['valider']))
{
$msg = SendMail();
$smarty->assign('msg', $msg);
}else{
$form = getForm()
$smarty->assign('form', $form);
}
puis le modèle :
<?php
function SendMail()
{
$msg = '';
if (($_POST['nom'] == '') or ($_POST['prenom'] == '') or ($_POST['mail'] == ''))
$msg ='<center><span style="color:red; font-weight:blod;"> Votre formulaire est invalide merci de remplire les champs obligatoires</span><center><br />';
else{
if ($_POST['tel'] == '')
$tel ='Non précisé';
else
$tel = $_POST['tel'];
// Ici envoie l mail avec la function mail
$msg ='<center><span style="color:green; font-weight:blod;">Votre demande est envoié, elle sera traité dans les plus bref délais Merci pour votre compréhension</span><center><br /> ';
}
return $msg;
}
function getForm()
{
$formulaire ='<center>
<form method="POST" action="#" >
<table >
<tr>
<td>Nom <span style="color:red;">*</span></td><td> <input type="text" name="nom" style="background-color:#e4f9d5;"/></td>
</tr>
<tr>
<td>Prénom <span style="color:red;">*</span></td><td> <input type="text" name="prenom" style="background-color:#e4f9d5;"/></td>
</tr>
<tr>
<td>Adresse Mail <span style="color:red;">*</span></td><td> <input type="text" name="mail" style="background-color:#e4f9d5;"/></td>
</tr>
<tr>
<td>Tèl </td><td> <input type="text" name="tel" style="background-color:#e4f9d5;"/></td>
</tr>
<tr>
<td></td><td> <input type="submit" name="valide" value="Je demande un catalogue Eco-poule" style="font-weight : bold; color:green;background-color:#fda13f;height:35px;"/></td>
</tr>
</table>
</form>
</center>';
return $formulaire;
}
?>
et pour finir voici le code de vue (fichier tpl) :
<!--{$msg}-->
<!--{$form}-->
Dans ton cas oui. Ton contrôleur sert à déclencher les traitements en fonction de ta requête serveur. En gros il s'agit d'appeler ton modèle et d'enregistrer en base si les données envoyées correspondent à tes attentes puis rediriger vers la vue correspondante. Dans le cas où tes données en entrée du contrôleur ne sont pas valides, tu peux simplement envoyer un ou plusieurs messages d'erreurs à ta vue qui se chargera de les mettre en forme.donc c'est j'ai bien compris pour vérifier si le $_POST['nom'] == '' par exemple, faut le faire dans contrôleur c'est ça?
require_once MODELS.'catalogue.php';
if(isset($_POST['valider']))
{
$msg = SendMail($_POST['nom'],$_POST['prenom'],$_POST['mail'],$_POST['tel']);
$smarty->assign('msg', $msg);
}
modele : function SendMail($nom,$prenom,$mail,$tel)
{
$msg = '';
if (($nom == '') or ($prenom == '') or ($mail == ''))
$msg ='<center><span style="color:red; font-weight:blod;"> Votre formulaire est invalide merci de remplire les champs obligatoires</span><center><br />';
else{
if ($tel == '')
$tel ='Non précisé';
/* Ici envoie l mail à infos@eco-poules
déclaration des paramètres de la fonction mail
*/
if(mail($to,$sujet,$contenu,$headers))
$msg ='<center><span style="color:green; font-weight:blod;">Votre demande a bien été envoyé, elle sera traité dans les plus bref délais. Merci pour votre compréhension</span><center><br /> ';
else
$msg = 'Votre demande n\'a pas été envoyé, merci d\'essayer plutard';
}
return $msg;
}
Vue : <br/><br/><br/>
<center>
<div id="catalogue">
<span style="font-weight:bold;">Veuillez remplir les champs suivants :</span><br /><br />
<!--{$msg}-->
<form method="POST" action="./catalogue.html" >
<table >
<tr>
<td>Nom <span style="color:red;">*</span></td><td> <input type="text" name="nom" style="background-color:#e4f9d5;"/></td>
</tr>
<tr>
<td>Prénom <span style="color:red;">*</span></td><td> <input type="text" name="prenom" style="background-color:#e4f9d5;"/></td>
</tr>
<tr>
<td>Adresse Mail <span style="color:red;">*</span></td><td> <input type="text" name="mail" style="background-color:#e4f9d5;"/></td>
</tr>
<tr>
<td>Tèl </td><td> <input type="text" name="tel" style="background-color:#e4f9d5;"/></td>
</tr>
<tr>
<td></td><td> <input type="submit" name="valide" value="Je demande un catalogue Eco-poule" style="font-weight : bold; color:green;background-color:#fda13f;height:35px;"/></td>
</tr>
</table>
</form>
</div>
</center>