12/02/2013, 18:44:27
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.4
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~
Bonjour, je demande votre aide concernant un problème avec smarty.
J'ai un module qui se compose d'une page ou je vais exécuter une requête d'insertion lors d'un clic sur le bouton valider.
Lors de ce click, je me retrouve sur une page vide, la requête ne s’exécute pas, elle s’exécute d’ailleurs au lancement de la page lorsqu'aucune valeur ne sont entrée dans les textbox. La question est comment faut-il gérer smarty pour pouvoir après click sur valider/envoyer, qu'on parcours le code php de la page en cours pour exécuter la requête a ce moment la.
Donc en résumer, le code qui exécute la requête se lance a l’exécution de la page, ne remplit pas les conditions de test(car valeur vide=> ce qui est normal). On click sur submit, et la on ne parcours pas le code, on quitte la page et c'est finit.
Si quelqu'un à une piste pour m'aider, je lui en serait infiniment reconnaissant.
Merci d'avance.
Voici un exemple du code:
Code :
[== PHP ==]
$db =& $this->GetDb();
$config = $this->config;
if (isset($params["submit"]) || isset($params["apply"]))
{
if (isset($params['ma_variable']))
{
$id_ma_variable= $db->GenID(cms_db_prefix().'module_ma_base_ma_table_seq');
$requete_insertion = "INSERT INTO ma_base VALUES(".$id_ma_variable.",$params['ma_variable'])."')"
echo "INSERT INTO cmsms_module_ma_base_ma_table VALUES (".$id_ma_variable.",'"$params['categorie'])."')";
$db->Execute($requete_insertion) or die("erreur requète2");
$this->Redirect($id, 'defaultadmin', $returnid);
}
else
{
exit(" Vous n'avez pas saisi de valeur");
}
}
// Assignation des valeurs aux templates
$this->smarty->assign('demarage_form',$this->CreateFormStart($id, 'creation_variable', $returnid));
if($_GET['para'])
{
$this->smarty->assign("input_id", $this->CreateInputHidden($id,"id",$_GET['para'],50,1000));
}
$this->smarty->assign("label_texte", $this->Lang("texte"));
$this->smarty->assign("textbox_mavariable", $this->CreateInputText($id,"ma_variable","",50,1000));
$this->smarty->assign("submit", $this->CreateInputSubmit($id, "submit", lang("submit")));
$this->smarty->assign('fin_form',$this->CreateFormEnd());
echo $this->ProcessTemplate('creation_fichier.tpl');
?>
Code :
[== HTML ==]
Fichier .tpl
<fieldset>
{$demarage_form}
<div>
<p>{$label_texte}:</p>
<p>{$textbox_mavariable}</p>
{$input_id}
</div>
<div>
<p>
<strong> </strong>
</p>
<p>
{$submit}
</p>
</div>
{$fin_form}
</fieldset>