Pb avec les apostrophes

Fabrizio61 Messages postés 15 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 23 juin 2005 - 21 sept. 2004 à 15:04
Fabrizio61 Messages postés 15 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 23 juin 2005 - 25 sept. 2004 à 15:56
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

LaurentKOogar Messages postés 369 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 20 octobre 2013
21 sept. 2004 à 16:10
Slt,

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

Laurent
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
21 sept. 2004 à 23:16
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
0
Fabrizio61 Messages postés 15 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 23 juin 2005
22 sept. 2004 à 18:09
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
0
LaurentKOogar Messages postés 369 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 20 octobre 2013
22 sept. 2004 à 18:25
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Fabrizio61 Messages postés 15 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 23 juin 2005
22 sept. 2004 à 21:41
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 :)
0
LaurentKOogar Messages postés 369 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 20 octobre 2013
22 sept. 2004 à 21:50
Slt,

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

Laurent
http://phpsources.net
0
Fabrizio61 Messages postés 15 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 23 juin 2005
24 sept. 2004 à 16:24
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 :)
0
LaurentKOogar Messages postés 369 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 20 octobre 2013
24 sept. 2004 à 17:42
Slt,
Dans le genre ::

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

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

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

Encore merci.

à plus :)
0
Rejoignez-nous