Optimisation pour un template [PHP] - Programmation
Marsh Posté le 16-07-2002 à 22:11:06
tout dépend de la façon dont a été codé ton objet, ici on ne pourra t'aider que si tu nous dévoile ce qui est caché dans ta boite noire: template.php3
Marsh Posté le 16-07-2002 à 22:16:51
Voila template.php3
<?php |
Marsh Posté le 16-07-2002 à 22:22:04
en fait dans ton tableau, il faut que tu mette une valeur sur deux, je m'explique:
|
voila, ca devrait fonctionner
Marsh Posté le 16-07-2002 à 22:52:28
tu change rien au reste, tu remplace juste tes set_var par un seul
Marsh Posté le 16-07-2002 à 23:12:51
<?
if($_POST['action']=="Envoyer" ){
if(!$_POST['auteur']) $va="Champs vide";
if(!$_POST['mail']) $vm="Champs vide";
if(!$_POST['titre']) $vt="Champs vide";
if(!$_POST['text']) $vc="Champs vide";
}
include "includes/template.php3";
$body = new Template("includes/templates" );
$body->set_file("page","body.tpl" );
$nom=array("VERIF AUTEUR", $va, "VERIF MAIL", $vm, "VERIF TITRE", $vt, "VERIF CORPS", $vc,
"AUTEUR", $auteur, "MAIL", $mail, "TITRE", $titre, "CORPS", $corps);
$body->set_var($nom);
$body->pparse("MyOutput","page" );
?>
Marche pas :
http://172.181.234.166/FINAL/body.php3
Marsh Posté le 16-07-2002 à 23:35:50
il dois y avoir une doc non ? pour cet objet ?
Marsh Posté le 16-07-2002 à 23:50:21
2 syntaxes pour les tableaux associatifs :
$nom["VERIF AUTEUR"] = $va;
$nom["VERIF MAIL"] = $vm;
$nom["VERIF TITRE"] = $vt;
$nom["VERIF CORPS"] = $vc;
$nom["AUTEUR"] = $auteur;
$nom["MAIL"] = $mail;
$nom["TITRE"] = $titre;
$nom["CORPS"] = $corps;
OU
$nom=array("VERIF AUTEUR" => $va, "VERIF MAIL" => $vm, "VERIF TITRE" =>$vt, "VERIF CORPS" => $vc, "AUTEUR" => $auteur, "MAIL" => $mail, "TITRE" => $titre, "CORPS" => $corps);
Ensuite :
$body->set_var($nom);
devrait fonctionner !
Marsh Posté le 16-07-2002 à 23:52:02
Dans la fonction set_var :
while(list($k, $v) = each($varname))
Donc $varname est un tableau associatif !
Marsh Posté le 17-07-2002 à 01:00:05
c koi un template ??
(je me demande car je fais du php a haute dose ces derniers temps, et je sais pas ce que c ...)
Marsh Posté le 16-07-2002 à 20:31:14
Voila mon code source :
<?
if($_POST['action']=="Envoyer" ){
if(!$_POST['auteur']) $va="Champs vide";
if(!$_POST['mail']) $vm="Champs vide";
if(!$_POST['titre']) $vt="Champs vide";
if(!$_POST['text']) $vc="Champs vide";
}
include "includes/template.php3";
$body = new Template("includes/templates" );
$body->set_file("page","body.tpl" );
$body->set_var("VERIF AUTEUR",$va);
$body->set_var("VERIF MAIL",$vm);
$body->set_var("VERIF TITRE",$vt);
$body->set_var("VERIF CORPS",$vc);
$body->set_var("AUTEUR",$auteur);
$body->set_var("MAIL",$mail);
$body->set_var("TITRE",$titre);
$body->set_var("CORPS",$text);
$body->pparse("MyOutput","page" );
?>
Je voudrais faire qu'un set_var, donc j'ai penser faire un array :
$nom1=array("VERIF AUTEUR", "VERIF MAIL", "VERIF TITRE", "VERIF CORPS", "AUTEUR", "MAIL", "TITRE", "CORPS" );
$nom2=array($va, $vm, $vt, $vc, $_POST['auteur'], $_POST['mail'], $_POST['titre'], $_POST['text']);
$body->set_var($nom1,$nom2);
Mais sa ne marche pas