D'un hébergeur à l'autre, d'une version PHP à l'autre, la gestion des apostrophes n'est pas identique. Cela pose quelques soucis pour les programmes PHP. Comment s'y prendre...
Le problème se pose lorsque l'on doit traiter un POST ou un GET associé à un formulaire. Parfois aussi, le retour d'une requête SQL peut nous amené quelque surprise.
De prime abord, je pense que les applications doivent manipuler des données brutes; pas de 'antislash' devant les apostrophes. Ainsi, nous savons toujours dans quel état sont les chaînes. C'est lors de l'utilisation de la donnée que nous devons faire la 'présentation' de cette données pour qu'elle soit compatible avec l'interface utilisé : HTML, MySQL, ...
je vais vous présenter quelques bouts de PHP permettant d'illustrer ce propos ainsi que les fonctions qui s'y rapporte. Ces fonctions peuvent être adaptées pour être intégrées à une classe CHAINE.
Ce point important car il s'agit d'éviter les 'SQL injection par le biais de requêtes MySQL.
Avant la requête
function toMySQL( $t )
{
return addslashes( $t ) ;
}
Après la requête
function fromMySQL( $t )
{
if ( get_magic_quotes_runtime() )
$texte = stripslashes( $t ) ;
else
$texte = $t ;
return $texte ;
}
Venant d'un POST
function fromPOST( $t, $defaut=false )
{
if ( !array_key_exists( $t, $_POST ) ) return $defaut ;
if ( get_magic_quotes_gpc() )
$texte = stripslashes( $_POST[$t] ) ;
else
$texte = $_POST[$t] ;
return $texte ;
}
Venant d'un GET
function fromGET( $t, $defaut=false )
{
if ( !array_key_exists( $t, $_GET ) ) return $defaut ;
if ( get_magic_quotes_gpc() )
$texte = stripslashes( $_GET[$t] ) ;
else
$texte = $_GET[$t] ;
return $texte ;
}
Renseignez-vous sur les brevets logiciels en Europe :
NoSoftWarePatents.com (en français)
Les images représentant des sociétes, des associations ou des marques restent associées, par un lien, à ces sociétés, associations ou marques. Elles ne signifie en rien que ces sociétés, associations ou marques soutiennent ce site.
Sauf précisions contraire, le contenu de ce site est mis à disposition sous un contrat Creative Commons.
Les informations fournies le sont sans aucune garantie. L'auteur ne pourra être tenu responsable de leurs utilisations.
De par l'utilisation du HTML 4.01 Strict et des CSS 2.1, le monde de crabs sera correctement vu avec les navigateurs respectant ces normes, Mozilla ou FireFox par exemple.
| Site : | Le Monde de Crabs |
| Titre : | PHP: Les apostrophes |
| Date du document : | 10/04/2005 |
| Auteur : | Christophe Cazajus |
| Mail : | crabs(mettre le @)crabs-world.com ou utiliser ce formulaire de contact |
| Mots-clé : | crabs, monde, francais, francophone, français, html, php, mysql, apostrophes, accent, POST, GET |
| Description : | Comment traiter les POST et les GET en php, en évitant de se prendre la tête avec les apostrophes ou les accents. |
| Validation : | html, csshtml, ccs |

Le calendrier et les scores du Stade Toulousain sont accessibles sur cette page : Le monde de crabs et le Stade Toulousain.