htmlspecialchars_decode

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 : htmlspecialchars_decode

par Dom! » 16 août 2008, 11:10

Effectivement en utilisant htmlentities() puis html_entity_decode() ca fonctionne ....

merci pour votre aide.... affaire classée..... :D

par AB » 16 août 2008, 07:40

Une alternative avec le même principe serait d'utiliser htmlentities() puis html_entity_decode() en lieu et place de htmlspecialchars() et htmlspecialchars_decode() car html_entity_decode() est supportée à partir de PHP 4 >= 4.3.0

Sinon bon faudrait penser à passer à php5 un jour ou l'autre :wink:

par Hywan » 15 août 2008, 23:50

Bah tu peux te faire ta propre fonction. Elle est pas très compliquée celle-là.

Si tu regardes la documentation de la fonction htmlspecialchars(), il est dit :
Les remplacements effectués sont :

"&" (et commercial) devient "&"
""" (guillemets doubles) devient """ lorsque ENT_NOQUOTES n'est pas utilisée.
"'" (guillemet simple) devient "'" uniquement lorsque ENT_QUOTES est utilisée.
"<" (inférieur à) devient "<"
">" (supérieur à) devient ">"
Je pense que faire l'inverse doit être réalisable ;-).

Édition : tu remarqueras que je t'ai juste fait écrire 2 lignes de code. La première servant à vérifier que la fonction existe (pas une autre erreur de syntaxe ou de truc bizarre). On a vu que non, alors on regarde dans le manuel, et on voit que la fonction n'est présente que depuis PHP 5.1.0, donc on regarde la version de PHP et on est fixé :).
Ça doit être un réflexe ce genre de test.

par Dom! » 15 août 2008, 23:41

Ce qui me donne :

string(5) "4.4.8"


Ce qui veut surement dire que la version est 4.4.8 ?

Comment faire pour faire fonctionner l'affichage de mon plan ???

Merci !

par Hywan » 15 août 2008, 23:34

Bien, si tu as la valeur de retour false, cela signifie que la fonction n'existe pas. La première solution (la plus simple) c'est que tu travailles sur une version de PHP qui est inférieure à la version 5.1.0. Pour le vérifier :
var_dump(phpversion());

par Dom! » 15 août 2008, 20:23

Ceci me donne le message suivant :

Code : Tout sélectionner

bool(false) Fatal error: Call to undefined function: htmlspecialchars_decode() in /home/uscagnes/public_html/salles.php on line 271
????

par Hywan » 15 août 2008, 19:59

Que te donne le code :
var_dump(function_exists('htmlspecialchars_decode'));
(à placer n'importe où).

Au passage, tu peux écrire $plan et pas "$plan", ce sera pareil, mais en plus rapide ;-).

par Dom! » 15 août 2008, 19:52

et voici :
   <?php 
			
	if (isset($cp) == "")
		$cp = '06800';
			
	if (isset($id) == '')
		$salle = '';
	else
		$salle = ' and id = '.$id;
	
	$sqldip = 'select * from tb_salles where cp = '.$cp.$salle.' order by nom';
   // $nbsql += 1;
	if ($resselectdip = mysql_query($sqldip)) {
         while ($selectdip = mysql_fetch_array($resselectdip))
         {	
		 $plan = $selectdip["plan"];
		 $plan1 = htmlspecialchars_decode("$plan", ENT_NOQUOTES);

		 
            echo '<hr><p align="left"><span class="textes">'.$selectdip["nom"].'</span><br>';
			echo '<span class="parag">'.$selectdip["adresse"].'</span><br>';  
           echo '<span class="parag">'.$selectdip["cp"].' '.$selectdip["ville"].'</span><br><br>';

			if ($selectdip["responsable"] != "") echo '<span class="parag">'.$selectdip["responsable"].'<br>';
			if ($selectdip["tel"] != "") echo '<span class="parag">Tel: '.$selectdip["tel"].'</span><br><br>';  
			if ($selectdip["plan"] != "")  echo $plan1.'<br>';  
			if ($selectdip["infos"] != "") echo '<br><span class="parag">'.$selectdip["infos"].'</span><br>';  
			echo '<br><br></p>';
	}
}
?>
Merci pour ton aide ...

par Hywan » 15 août 2008, 19:46

Est-ce qu'on peut voir le code (avec les lignes précédentes et suivantes, pas seulement la ligne concernée) ? Parce que là, j'ai un doute …

par Dom! » 15 août 2008, 19:45

Oui oui j'ai cette erreur ! de plus en local avec easyphp ca fonctionne...
Personne n'a eu ce probleme ?

Arf

par Hywan » 15 août 2008, 19:34

Hey :),

Tu es sûr d'avoir ce message d'erreur là ? Car cette fonction existe.

htmlspecialchars_decode

par Dom! » 15 août 2008, 13:34

Bonjour,

Je dois mettre sur mon site des plans que je récupere sur googlemap.
J'insere donc dans ma base sql le plan comme ceci :

Code : Tout sélectionner

$plan1 = htmlspecialchars("$plan", ENT_QUOTES);
J'affiche mon plan de la façon suivante :

Code : Tout sélectionner

echo htmlspecialchars_decode($str, ENT_NOQUOTES);
Mon probléme est que la Fonction htmlspecialchars_decode ne semble pas reconnu...
voici le message d'erreur :

Call to undefined function: htmlspecialchars_decode()

Pourriez vous m'aider à résoudre le probléme afin que mon plan s'affiche ?
Merci d'avance