Pb avec les apostrophes

Signaler
Messages postés
15
Date d'inscription
samedi 11 septembre 2004
Statut
Membre
Dernière intervention
23 juin 2005
-
Messages postés
15
Date d'inscription
samedi 11 septembre 2004
Statut
Membre
Dernière intervention
23 juin 2005
-
Bonjour à tous

Je n'arrive pas à enregistrer des chaînes de caractères contenant
des apostrophes dans mes sessions. Ni à les faires passer d'un script à l'autre avec un lien.

J'ai essayé avec addslashes et stripslashes, mais rien à faire.
J'utilise easyphp 1.6.

Si quelqu'un veut bien me donner un petit coup de main
se serai très sympa.

Merci, salut

9 réponses

Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013

Slt,

Utilise les carateres ASCII ou iso
http://www.phpsources.net/cts.php

Laurent
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut ;-)

Vérifies que tu concatènes bien tes chaînes et que tu utilises les quotes correctement :

$variable='test d\'apostrophe';
$variable="test d'apostrophe";
$variable="test de guillemets : "citation"";

a ++

http://www.vulgarisation-informatique.com : entraide, dépannage et vulgarisation informatique
Messages postés
15
Date d'inscription
samedi 11 septembre 2004
Statut
Membre
Dernière intervention
23 juin 2005

Bonjour à tous et merci à vous deux.

Je me permet de vous montrer une partie de ce que j'ai fait.

Voici ce qui affiche mes produits, cela vient de la base de données :

while ($data = mysql_fetch_array($req)) {
// on affiches les résultats dans la <table>
echo "<tr>\n";
echo "<td width=30% height=20 bgcolor=#ffffff><center> ".$data["auteur"]." </td>\n";
echo "<td width =35% height=20 bgcolor=#ffffff><center>".$data["titre"]."</td>\n";
echo "<td width=20% height=20 bgcolor=#ffffff><center>".$data["autre"]."</td>\n";
echo "<td width=15% height=20 bgcolor=#ffffff><center></td>\n";
echo "<tr>";
echo "</tr>";
echo "<td width=30% height=20 bgcolor=#ffffff><center>Etat : ".$data["etat"]."</td>\n";
echo "<td width=35% height=20 bgcolor=#ffffff><center>Prix : ".$data["prix"]." ?</td>\n";
echo "<td width=20% height=20 bgcolor=#ffffff><center>[.$data[ voir]</td>\n";

L'affichage se fait parfaitement bien, même là où il y a des apostrophes.

Par contre à partir de là ???

echo "<td width=15% height=20 bgcolor=#ffffff><center>

</td>\n";

Et de là ??? (c'est au début du script)

if($_GET['action']=="action"){
$_SESSION['liste'][]=array('auteur'=>$_GET["auteur"],'titre'=>$_GET["titre"],'prix'=>$_GET["prix"]); etc...

Tant qu'il n'y pas d'apostrophes tout est ok dans la session et le panier.

J'ai essayé toutes les combinaisons entrent les ' et " , rien à faire, tout ce qu'il y a partir des apostrophes
ne s'affice pas, ni dans la session, et forcément, ni dans le panier !?!?!?

Salut
Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013

Reslt,

Pour commencer en theorie tu as juste 1 table, celle des articles!! donc lorque l'on te commande 1 article ta juste qu'a rentrer dans ta session le numero de l'article (ID) et la qté commandé !!!

2 elements et pas plus !!!

donc si tu rentres l'ID et la qté ben ta plus besoin de résoudre tes problems d'accent.

deniere chose:: utilise plutot la fonction str_replace() pour additionner tes articles :--)

@++

Laurent
http://phpsources.net
Messages postés
15
Date d'inscription
samedi 11 septembre 2004
Statut
Membre
Dernière intervention
23 juin 2005

Salut Laurent

J'ai 4 tables pour 4 types de produits et chaque table
contient plusieurs sous-types de produits.
Et il pourrais y avoir plusieurs dizaines de produits par sous-type.

Mais c'est vrais que cela simplifierait la tâche. Je vérifie la
contenance exacte d'une table et j'y réfléchi sérieusement.

Merci, à plus :)
Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013

Slt,

Alors rentre en + le nom de la table dans la session :-)
Par exemple :
ID:25,QT:1,TABLE:prod1

Laurent
http://phpsources.net
Messages postés
15
Date d'inscription
samedi 11 septembre 2004
Statut
Membre
Dernière intervention
23 juin 2005

Bonjour Laurent

J'ai suivi ton conseil, cela fonctionne très bien. Merci !

Par contre qu'est que tu veux dire par : " utilise plutot la fonction str_replace() pour additionner tes articles" ?

Cette fonction sert, si je ne trompe pas, à modifier une
sous-chaîne.

Fabrice :)
Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013

Slt,
Dans le genre ::

$liste = str_replace("$article+$qte","$article+$new_qte",$liste);

Laurent
http://phpsources.net
Messages postés
15
Date d'inscription
samedi 11 septembre 2004
Statut
Membre
Dernière intervention
23 juin 2005

Bonjour Laurent

OK pour str_replace(), mais dans mon cas se n'est pas
nécessaire car mes produits sont uniques.

Encore merci.

à plus :)