Rechercher : dans
Par :

Apostrophes ne passent pas ?

Dernière réponse le 16 mar 2007 à 13:51:11 txiki, le 15 mar 2007 à 13:41:36 
 Signaler ce message aux modérateurs

Salut a tous,
J'ai un petit souci assez bizarre.
En local, lorsque je tape une apostrophe dans le commentaire (pour un ajout de fiche, voir sur http://txiki.free.fr) ça me met une erreur alors que chez free ça passe très bien.
Y a t-il quelque chose a configurer en local (apache ou autre...) ?
Merci pour la réponse. Le bonheur est la seule chose que l'on peut donner sans l'avoir.

Configuration: Windows XP
Firefox 1.5.0.10

Meilleures réponses pour « Apostrophes ne passent pas ? » dans :
Les guillemets, apostrophes et les chaînes Voir Comment jouer avec les guillemets et les apostrophes dans les chaînes 1. Préambule 2. Éviter une coupure dans la chaîne 3. Ajouter un guillemet dans la chaîne 3.1 Avec l'apostrophe 3.2 Avec l'ASCII 3.3 Directement 3.3.1 Méthode...
[PHP] Les ressemblances à ne pas confondre VoirIntroduction Concaténation ou paramètres ? Guillemets/Apostrophe Structure require/include isset vs empty htmlentities ou htmlspecialchars ? Nombre de signes égal Introduction Cette astuce présente plusieurs fonction ou astuces en...
Mode Administrateur ou Utilisateur sous XP VoirLorsque vous installez le système d’exploitation de Windows, celui-ci, par défaut, crée automatiquement un compte Administrateur. Or, lors de votre installation, on ne trouve nulle part d'explications concernant la différence entre ce compte et un...
Comment bloquer l'accès à MSN (Windows Live Messenger) VoirVoici une astuce via un pare-feu (Kerio Personal Firewall 4) qui vous permettra de bloquer ou d'empêcher la connexion de MSN si le coeur vous en dit, ou si vous pensez que vos enfants y passent trop de temps. :) Sommaire : Où télécharger...
L'analogique et le numérique VoirQuelle est la différence entre analogique et numérique ? Les phénomènes qui nous entourent sont quasiment tous continus, c'est-à-dire que lorsque ces phénomènes sont quantifiables, ils passent d'une valeur à une autre sans discontinuité. Ainsi,...

1

nassdak, le 15 mar 2007 à 16:08:39

Salut!
Ce ne serait pas dû au fait que, les serveurs de Free antislashent automatiquement les apostrophes par mesure de sécurité?
Essaie d'utiliser la fonction addslashes dans ton script

http://fr.php.net/manual/fr/function.addslashes.php

Répondre à nassdak

2

txiki, le 15 mar 2007 à 20:37:08

Je te remercie pour ta réponse mais je ne comprends pas bien là:
Comment je fais pour mon formulaire ou pratiquement tous les champs a renseigner le seront en texte donc avec possibilités d'accent, de point, point virgule etc....
Ce qui est actuellement chez free est provisoire car a terme, ce sera hébergé en interne dans la boite.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.

Répondre à txiki

3

nassdak, le 16 mar 2007 à 11:23:53

Lors de l'envoi de ton formulaire, tu utilises la fonction addslashes qui se chargera de mettre des antislashes devant tes apostrophes.
Je ne sais pas si je suis clair :)

Après il faut savoir que ton serveur interne a ta boite sera surement configuré aussi de façon à le faire automatiquement, mais bon ça ne te coute rien d'utiliser cette fonction ds ton code.

J'espère avoir répondu à ta question, sinon tu peux tjs poster un bout de ton code ;)

Répondre à nassdak

4

kij_82, le 16 mar 2007 à 11:46:02

Pour préciser ce qu'a dit Nassdak, lorsque tu récupère tes paramètres dans ton script php qui effectue les requètes SQL, il te faut modifier la valeur de ces paramètres en bloquant les ' et " via la fonction addSlashes de la facon suivante :

$param = addSlashes($_POST["param"]);

$rqt = "SELECT bidule FROM machin WHERE toto = '".$param."'
~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~

Répondre à kij_82

5

nassdak, le 16 mar 2007 à 12:18:45

Nikel ;)

Répondre à nassdak

6

 txiki, le 16 mar 2007 à 13:51:11

Merci a vous,
Je crois qu'il y a un truc qui me chagrine:
Sous W2000 et IE6 (au bureau) je suis obligé de mettre un back slashe avant une apostrophe avant de pouvoir valider mon formulaire (html) sans erreur. Mais SI j'affiche la fiche détaillée, le texte est correct.
Dans le php.ini, le magic_quote est bien a off pourtant....
Voici mon formulaire au cas où....

</table>
      <br>
      <table width="100%"  border="0" align="center" cellpadding="3" cellspacing="0">
        <tr>
          <td> Groupe: <strong class="echec">*</strong>
            <select name="groupe">
              <option> </option>
              <option>m&eacute;tier</option>
            <option>management</option>
            <option>SI de gestion</option>
            <option>poste de travail</option>
            </select>
          </td>
        </tr>
  </table>
      <table width="100%"  border="0" align="center" cellpadding="3" cellspacing="0">
        <tr>
          <td width="50%"> Catégorie: <strong class="echec">*</strong>
            <select name="categorie">
            <option> </option>
            <option>CFAO</option>
            <option>DAO</option>
            <option>Logiciel embarqu&eacute;</option>
            <option>Calcul-Simulation</option>
            <option>Mesure-Acquisition</option>
            <option>Supervision-Pilotage</option>
            <option>PAO</option>
            <option>Reprographie m&eacute;tier-traceur</option>
            <option>Maintenance moteur</option>
            <option>D&eacute;veloppement informatique</option>
            <option>Gestion connaissances</option>
            <option>Divers</option>
            <option>Informatique d&eacute;cisionnelle</option>
            <option>Gestion projet-Planification</option>
            <option>Gestion processus</option>
            <option>Projet SAP</option>
            <option>communication-Bureautique</option>
            <option>S&eacute;curit&eacute;</option>
            <option>Composant acc&egrave;s services</option>
            <option>Outillage banalis&eacute;</option>
            <option>Driver p&eacute;riph&eacute;rique carte</option>
            <option>OS syst&egrave;me</option>
            <option>Infrastructure technique</option>
            </select> </td>
          <td width="5">&nbsp;</td>
          <td width="50%">Source: <input type="text" name="source" size="30" maxlength="100"></td>
        </tr>
        <tr>
          <td width="50%">Editeur: <input TYPE="text" name="editeur" SIZE="46" maxlength="100"></td>
          <td width="5">&nbsp;</td>
          <td width="50%"> Nom: <strong class="echec">*</strong><input TYPE="text" name="nom" SIZE="51" maxlength="255">
          </td>
        </tr>
        <tr>
          <td width="50%">Ligne du produit: 
          <input TYPE="text" name="ligne_produit" SIZE="36" maxlength="100"></td>
          <td width="5">&nbsp;</td>
          <td width="50%">Socle: <input TYPE="text" name="socle" SIZE="40"></td>
        </tr>
        <tr>
          <td width="50%">Référence DSI: <strong class="echec">*</strong><select name="reference_DSI">
            <option>choisir une option</option>
            <option>cat</option>
            <option>ref</option>
            <option>&eacute;val</option>
          </select>
          </td>
          <td width="5">&nbsp;</td>
          <td width="50%">Standard DSI: <select name="standard_DSI">
            <option>choisir une option</option>
            <option>standard</option>
            <option>rebut</option>
            <option>*</option>
          </select></td>
        </tr>
        <tr>
          <td width="50%">Type de licence: <select name="type_licence">
            <option>choisir une option</option>
            <option>monoposte</option>
            <option>monoposte &agrave; jeton</option>
            <option>monoposte dongle</option>
            <option>monoposte + cl&eacute; mat&eacute;rielle</option>
            <option>monoposte + cl&eacute; logicielle</option>
            <option>r&eacute;seau</option>
            <option>licence flottante</option>
            <option>licence flottante et monoposte</option>
            <option>client lourd</option>
            <option>client serveur</option>
            <option>cl&eacute; mat&eacute;rielle</option>
            <option>acc&egrave;s unix</option>
            <option>d&eacute;veloppement sp&eacute;cifique TM</option>
            <option>licence site</option>
            <option>client citrix</option>
            <option>aucune</option>
          </select></td>
          <td width="5">&nbsp;</td>
          <td width="50%">Version standard: <input TYPE="text" name="version_standard" SIZE="20" maxlength="150"></td>
        </tr>
        <tr>
          <td width="50%">Compatibilité XP: <select name="compatibilite_XP">
            <option>choisir une option</option>
            <option>oui</option>
            <option>non</option>
            <option>oui pour version 2006</option>
            <option>?</option>
            <option>? pour 4.3 oui pour 5.0</option>
            <option>IE 5.5 sp1</option>
            <option>Office 2000, 2002, 2003</option>
          </select></td>
          <td width="5">&nbsp;</td>
          <td width="50%">Versions en exploitation: <input TYPE="text" name="versions_exploitation" SIZE="20"></td>
        </tr>
        <tr>
          <td width="50%">Type de déploiement: <select name="type_deploiement">
            <option>choisir un type</option>
            <option> serveur/script</option>
            <option>serveur/script + CD</option>
            <option>serveur/proc&eacute;dure</option>
            <option>manuelle</option>
            <option>CD</option>
            <option>?</option>
            <option>logon script</option>
            <option>logon script + disque S</option>
            <option>FTP</option>
            <option>t&eacute;l&eacute;charg&eacute;e</option>
            <option>en cours</option>
          </select></td>
          <td width="5">&nbsp;</td>
          <td width="50%">Type d'installation: <select name="type_installation">
            <option>choisir le type</option>
            <option>locale</option>
            <option>r&eacute;seau</option>
            <option>client</option>
            <option>serveur</option>
            <option>non</option>
          </select></td>
        </tr>
        <tr>
          <td width="50%">Domaine: <select name="domaine">
            <option>choisir un domaine</option>
            <option>CFAO</option>
            <option>DAO</option>
            <option>PAO</option>
            <option>Calul/Simulation</option>
            <option>Logiciel embarqu&eacute;</option>
            <option>Mesure/Acquisition</option>
            <option>Supervision/Pilotage</option>
            <option>Reprographie</option>
            <option>Maintenance moteur</option>
            <option>D&eacute;veloppement informatique</option>
            <option>Gestion des connaissances</option>
            <option>Informatique d&eacute;cisionnelle</option>
            <option>Gestion de projet</option>
            <option>Planification</option>
            <option>Mod&eacute;lisation processus</option>
            <option>SI de gestion</option>
            <option>Accompagnement au changement</option>
            <option>Projet SI</option>
            <option>Communication/Bureautique</option>
            <option>S&eacute;curit&eacute;</option>
            <option>COmposant d'acc&egrave;s &agrave; un service</option>
            <option>Composant java sur le poste</option>
            <option>Outillage banalis&eacute;</option>
            <option>Driver, p&eacute;riph&eacute;rique, exploitation p&eacute;riph&eacute;rique </option>
            <option>OS</option>
            <option>Outil syst&egrave;me</option>
            <option>Infrastructure technique</option>
          </select></td>
          <td width="5">&nbsp;</td>
          <td width="50%"><table width="100%"  border="0" cellspacing="0" cellpadding="2">
            <tr>
              <td>&nbsp;</td>
              <td rowspan="3"><textarea name="fonctionnalite" cols="35" rows="2" wrap="virtual"></textarea></td>
            </tr>
            <tr>
              <td>Fonctionnalit&eacute;:&nbsp; </td>
            </tr>
            <tr>
              <td>&nbsp;</td>
            </tr>
          </table>
          </td>
        </tr>
        <tr>
          <td width="50%"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td>&nbsp;</td>
              <td rowspan="3"><textarea name="description" cols="35" rows="2"></textarea></td>
            </tr>
            <tr>
              <td>Description: </td>
            </tr>
            <tr>
              <td>&nbsp;</td>
            </tr>
          </table>
          </td>
          <td width="5">&nbsp;</td>
          <td width="50%"><table width="100%"  border="0" cellspacing="0" cellpadding="2">
            <tr>
              <td>&nbsp;</td>
              <td rowspan="3"><textarea name="instructions" cols="35" rows="2"></textarea></td>
            </tr>
            <tr>
              <td>Instructions:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </td>
            </tr>
            <tr>
              <td>&nbsp;</td>
            </tr>
          </table>
          </td>
        </tr>
        <tr>
          <td width="50%"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
            <tr>
              <td>&nbsp;</td>
              <td rowspan="3"><textarea name="pre_requis" cols="35" rows="2"></textarea></td>
            </tr>
            <tr>
              <td>Pré-requis:&nbsp; </td>
            </tr>
            <tr>
              <td>&nbsp;</td>
            </tr>
          </table>
          </td>
          <td width="5">&nbsp;</td>
          <td width="50%">Référent métier: <input TYPE="text" name="referent_metier" SIZE="36" maxlength="255"></td>
        </tr>
  </table>
	  <table width="100%"  border="0" align="center" cellpadding="3" cellspacing="0">
        <tr>
          <td><table width="100%"  border="0" cellspacing="0" cellpadding="2">
            <tr>
              <td>&nbsp;</td>
              <td rowspan="3"><textarea name="commentaires" cols="85" rows="2"></textarea></td>
            </tr>
            <tr>
              <td>Commentaires:</td>
            </tr>
            <tr>
              <td>&nbsp;</td>
            </tr>
          </table>
          </td>
        </tr>
  </table>
<table width="80%"  border="0" align="center" cellpadding="4" cellspacing="0">
        <tr>
          <td align="center"><strong class="red">V&eacute;rifiez les champs renseign&eacute;s avant de Valider</strong> <br>
            <br>
          <input type="submit" name="submit" value="Ajouter la fiche dans la base" onClick="javascript: return verif();"></td></tr>
  </table>
  	  </table>
</form>

NOTE: j'ai mis le form dans un tableau pour des Pb de mise en page
impossible par les input classique
.
AUTRE chose plus intriguante encore:
le controle en javascript ne peut se faire sur une liste déroulante avec IE alors que ça fonctionne très sous Firefox. ???
Merci pour votre patience les gars.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.

Répondre à txiki
Collection CommentÇaMarche.net