Apostrophes ne passent pas ?

[Résolu/Fermé]
Signaler
Messages postés
3133
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
20 octobre 2020
-
Messages postés
3133
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
20 octobre 2020
-
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.

4 réponses

Messages postés
61
Date d'inscription
jeudi 26 octobre 2006
Statut
Membre
Dernière intervention
8 juin 2007
23
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

https://www.php.net/manual/fr/function.addslashes.php
Messages postés
3133
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
20 octobre 2020
429
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.
Messages postés
61
Date d'inscription
jeudi 26 octobre 2006
Statut
Membre
Dernière intervention
8 juin 2007
23
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 ;)
Messages postés
4088
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
852
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."'
Messages postés
61
Date d'inscription
jeudi 26 octobre 2006
Statut
Membre
Dernière intervention
8 juin 2007
23
Nikel ;)
Messages postés
3133
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
20 octobre 2020
429
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.