Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Templates > Smarty
Smarty Forum d'entraide sur le moteur de templates Smarty. Avant de poster -> FAQ Smarty et Cours Smarty
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/05/2006, 14h14   #1
Membre du Club
 
Avatar de harlock59
 
Inscription : mars 2005
Messages : 249
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mars 2005
Messages : 249
Points : 58
Points : 58
Envoyer un message via MSN à harlock59 Envoyer un message via Yahoo à harlock59 Envoyer un message via Skype™ à harlock59
Par défaut Problème sous Smarty : htmlspecialchars ou htmlentities

bonjour,
voici mon code:
(je voudrais faire afficher les enregistrements d'une base mysql mais avec des accents au lieu du symbole "�".

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
if (!$recordSet) 
    {
    print $conn->ErrorMsg();
    }
else
    {
        while (!$recordSet->EOF)
            {
            $tpl_index[] = $recordSet->fields[0] ;
            $tpl_texte[] = $recordSet->fields[1] ;
(ici l.60) $tpl_texte_accentue[]=htmlentities($tpl_texte[],ENT_COMPAT,ISO-8859-15);
            $tpl_prix[] = $recordSet->fields[2] ;
            $recordSet->MoveNext();
            }
    }
$recordSet->Close(); # optionnel 
$conn->Close(); # optionnel
 
$smarty->assign("tpl_index", $tpl_index);
$smarty->assign("tpl_texte_accentue", $tpl_texte_accentue);
$smarty->assign("tpl_prix", $tpl_prix);
 
 
 
$smarty->display("commander.tpl");
le message d'erreur qui m'est renvoyé est le suivant:
Fatal error: Cannot use [] for reading in C:\Web\Site\modules\gesstock\commander.php on line 60
la ligne 60 est celle où il y a le htmlentities.
merci pour votre aide.
__________________
--
Acer Aspire 5315 modifié.
Ubuntu Maverick 10.10 Gnome
harlock59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 14h25   #2
Membre du Club
 
Avatar de harlock59
 
Inscription : mars 2005
Messages : 249
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mars 2005
Messages : 249
Points : 58
Points : 58
Envoyer un message via MSN à harlock59 Envoyer un message via Yahoo à harlock59 Envoyer un message via Skype™ à harlock59
j'ai aussi testé avec iconv,
$tpl_texte[] = $recordSet->fields[1] ;
$tpl_texte_accentue[]=iconv(UTF8,ISO-8859-15,$tpl_texte[]);
mais ça me met toujours le meme message d'erreur.
__________________
--
Acer Aspire 5315 modifié.
Ubuntu Maverick 10.10 Gnome
harlock59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 14h36   #3
Rédacteur
 
Homme
Geek entrepreneur
Inscription : novembre 2004
Messages : 1 035
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Geek entrepreneur

Informations forums :
Inscription : novembre 2004
Messages : 1 035
Points : 1 813
Points : 1 813
La syntaxe est mauvaise, on ne peut pas passer de $tableau[]
Soit tu passes ton tableau, mais ces fonctions n'attendent pas de tableau, soit tu utilises une fonction comme array_map pour appliquer ta fonction a chaque élément de ton tableau.
hugo123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 14h41   #4
Membre du Club
 
Avatar de harlock59
 
Inscription : mars 2005
Messages : 249
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mars 2005
Messages : 249
Points : 58
Points : 58
Envoyer un message via MSN à harlock59 Envoyer un message via Yahoo à harlock59 Envoyer un message via Skype™ à harlock59
ok, et quelle serait la syntaxe avec array_map ?
merci.
__________________
--
Acer Aspire 5315 modifié.
Ubuntu Maverick 10.10 Gnome
harlock59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 14h43   #5
Rédacteur
 
Homme
Geek entrepreneur
Inscription : novembre 2004
Messages : 1 035
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Geek entrepreneur

Informations forums :
Inscription : novembre 2004
Messages : 1 035
Points : 1 813
Points : 1 813
http://www.php.net/array_map
hugo123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 14h44   #6
Membre du Club
 
Avatar de harlock59
 
Inscription : mars 2005
Messages : 249
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mars 2005
Messages : 249
Points : 58
Points : 58
Envoyer un message via MSN à harlock59 Envoyer un message via Yahoo à harlock59 Envoyer un message via Skype™ à harlock59
oui, merci je viens d'aller voir, mais maintenant je ne sais plus où placer mon htmlentities par rapport au array_map ?
__________________
--
Acer Aspire 5315 modifié.
Ubuntu Maverick 10.10 Gnome
harlock59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 14h51   #7
Membre du Club
 
Avatar de harlock59
 
Inscription : mars 2005
Messages : 249
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mars 2005
Messages : 249
Points : 58
Points : 58
Envoyer un message via MSN à harlock59 Envoyer un message via Yahoo à harlock59 Envoyer un message via Skype™ à harlock59
voici ce que j'ai mis, mais ca ne marche pas:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
if (!$recordSet) 
    {
    print $conn->ErrorMsg();
    }
else
    {
        while (!$recordSet->EOF)
            {
            $tpl_index[] = $recordSet->fields[0] ;
            $tpl_texte[] = $recordSet->fields[1] ;
            $tpl_prix[] = $recordSet->fields[2] ;
            $recordSet->MoveNext();
            }
    }
 
array_map('htmlentities',$tpl_texte);
 
$recordSet->Close(); # optionnel 
$conn->Close(); # optionnel
 
$smarty->assign("tpl_index", $tpl_index);
$smarty->assign("tpl_texte", $tpl_texte);
__________________
--
Acer Aspire 5315 modifié.
Ubuntu Maverick 10.10 Gnome
harlock59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 14h55   #8
Rédacteur
 
Homme
Geek entrepreneur
Inscription : novembre 2004
Messages : 1 035
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Geek entrepreneur

Informations forums :
Inscription : novembre 2004
Messages : 1 035
Points : 1 813
Points : 1 813
As tu lu le lien que je t'ai donné ? Il est quand même bien fait, avec des exemples etc...

Code :
$tpl_texte = array_map(htmlentities,$tpl_texte,array(ENT_COMPAT,ISO-8859-15));
hugo123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 14h56   #9
Membre du Club
 
Avatar de harlock59
 
Inscription : mars 2005
Messages : 249
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mars 2005
Messages : 249
Points : 58
Points : 58
Envoyer un message via MSN à harlock59 Envoyer un message via Yahoo à harlock59 Envoyer un message via Skype™ à harlock59
ok, merci, je vais tester.
__________________
--
Acer Aspire 5315 modifié.
Ubuntu Maverick 10.10 Gnome
harlock59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 14h57   #10
Membre du Club
 
Avatar de harlock59
 
Inscription : mars 2005
Messages : 249
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mars 2005
Messages : 249
Points : 58
Points : 58
Envoyer un message via MSN à harlock59 Envoyer un message via Yahoo à harlock59 Envoyer un message via Skype™ à harlock59
nickel, c'est génial !!
__________________
--
Acer Aspire 5315 modifié.
Ubuntu Maverick 10.10 Gnome
harlock59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h31.


 
 
 
 
Partenaires

Hébergement Web