Le php transforme de simple guillemé en double cotes [Résolu]

Signaler
Messages postés
24
Date d'inscription
mercredi 28 avril 2010
Statut
Membre
Dernière intervention
18 mai 2012
-
Messages postés
24
Date d'inscription
mercredi 28 avril 2010
Statut
Membre
Dernière intervention
18 mai 2012
-
Bonjour j'ai un soucis que j'arrive pas à résoudre.

Je possède une variable en php qui possède des guillement et lorsque je la met dans une fonction le php transforme le simple guillement en double cotes .
Explication :
[b]//ma variable avec une '
$donnees = 3'test;
//un echo
echo "<td></td></tr>";/b

et je retrouve sur ma page web :

<td></td>

Du coup forcément la fonction marche pas. Il y a un moyen pour que le php ne transforme pas la simple cote?

5 réponses

Messages postés
31
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
1 novembre 2012

remplace :
$donnees = 3'test;
par :
$donnees = "3'test";

puis utilise la fonction htmlentities :
$donnees = htmlentities($donnees,ENT_QUOTES);
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
Salut,

PHP ne "transforme" pas ce genre de choses. Montre donc plutôt ton code (et en utilisant les balises [code=php]/code) afin que l'on voie où est ton erreur.
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
@mtrix000: si c'était réellement son code ça générerais une erreur de syntaxe et donc il n'obtiendrais aucun résultat. Vu qu'il obtient quand même quelque chose c'est qu'il y a eu un petit soucis lorsqu'il a mis son code ici.
Messages postés
24
Date d'inscription
mercredi 28 avril 2010
Statut
Membre
Dernière intervention
18 mai 2012

Je voulais éviter de mettre mon code puisqu'il est assez complexe (de mon point de vue^^) donc voila :
 $reponse =  mysql_query("SELECT DISTINCT M.trivial_name,M.iupac_code, M.origin, T.label_type FROM molecule M, monosacch_family F,sugar_identifier SF,type T WHERE M.id_type=T.id_type AND M.id_molecule=SF.id_molecule AND SF.id_family=F.id_family ".$requete." ORDER BY M.trivial_name");
            if(mysql_num_rows($reponse)==0)echo " No Oligosaccharide 

";
            else echo"<table border ='1'><tr><th>Trivial name</th><th>IUPAC code</th><th>Origin</th><th>Type</th><th>Selection</th></tr>";
                while($donnees= mysql_fetch_array($reponse)or die(mysql_error()))
                {
                    
                    echo "<tr ><td style='text-align:left;padding-left:10px;'>".$donnees['trivial_name']."</td><td style='text-align:left;padding-left:10px;'>".$donnees['iupac_code']."</td><td>".$donnees['origin']."</td><td>".$donnees['label_type']."</td>";
                    if(in_array($donnees['trivial_name'],$liste)){
                        echo "<td></td></tr>"; 
                    }
                    else{
                        echo "<td></td></tr>"; 
                    }

            }

Donc dans la base de donnée l'attribut : 'trivial_name' peut posséder des guillemet du coup pour l'affichage de l'id cela ne pose pas de problème mais pour la partie 'onclik' il me transforme le guillement en double quotes et du coup la syntaxe n'est plus bonne
Messages postés
24
Date d'inscription
mercredi 28 avril 2010
Statut
Membre
Dernière intervention
18 mai 2012

Finalement la réponse de mtrix000 a marché merci beaucoup ^^