Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1409 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Traitement des quotes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Traitement des quotes

n°571422
saxgard
Posté le 20-11-2003 à 11:43:05  profilanswer
 

Bon je me tire un peu les cheveux avec le traitement des guillemets et des apostrophes.
 
Voila
j'ai des champs dans un formulaire ou le contenu permet la saisi des " et des '  
 
cependant j'ai fait une fonction qui test la chaine pour verifieq ue c'est de l'alpah numerique [A-Z,0-9]
 
et j'aimerai laissé passé les " et  '
par le biais d'un :

Code :
  1. $temp2=ereg_replace(""","A",$temp2);


 
ensuite une fois le champ tratié et integré dans la BdD (avce les "  et  ') je veux afficher le cham sans problemes
 
et en evitant de voir a l'ecran les  \" ou \'
 
de même quand je copie ce champ dans un fichier.
 
En gros j'ai un peu de mal a traiter ces cracatères
 
je suis désolé si cette question a déjà été posé plusieurs fois
 
mais j'ai fait une recherche dans le forum et sur le net j'ai rien trouvé de convainquant , pourtant c'ets un problème récurant en développement  :(


Message édité par saxgard le 21-11-2003 à 09:18:23
mood
Publicité
Posté le 20-11-2003 à 11:43:05  profilanswer
 

n°571424
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 20-11-2003 à 11:46:41  profilanswer
 

Bin y a la fonction stripslashes() qui va te permettre de retirer les \


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°571425
saxgard
Posté le 20-11-2003 à 11:48:52  profilanswer
 

Taiche a écrit :

Bin y a la fonction stripslashes() qui va te permettre de retirer les \


 
mais sinon comment remplacer le " par un A avce ereg_replace?

n°571428
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 20-11-2003 à 11:51:37  profilanswer
 

En l'escapant avec \ [:spamafote]
$temp2=ereg_replace("\"","A",$temp2);


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°571429
impulse
Posté le 20-11-2003 à 11:53:32  profilanswer
 

Saxgard a écrit :

Bon je me tire un peu les cheveux avec le traitement des guillemets et des apostrophes.
 
Voila
j'ai des champs dans un formulaire ou le contenu permet la saisi des " et des '  
 
cependant j'ai fait une fonction qui test la chaine pour verifieq ue c'est de l'alpah numerique [A-Z,0-9]
 
et j'aimerai laissé passé les " et  '
par le biais d'un :

Code :
  1. $temp2=ereg_replace(""","A",$temp2);


 
ensuite une fois le champ tratié et integré dans la BdD (avce les "  et  ') je veux afficher le cham sans problemes
 
et en evitant de voir a l'ecran les  \" ou \'
 
de même quand je copie ce champ dans un fichier.
 
En gros j'ai un peu de mal a traiter ces cracatères
 
je suis désolé si cette question a déjà été posé plusieurs fois
 
mais j'ai fait une recherche dans le forum et sur le net j'ai rien trouvé de convainquant , pourtant c'ets un problème récurant en développement  :(  
 
 
 


 
Deja j'aimerais comprendre pourquoi tu remplaces tes " par des A... a ta place je modifierai ma regexp pour matcher les ". Un truc du genre =>
 

Code :
  1. "/^[\w\"]*$/"


 
ou
 

Code :
  1. "^[a-z0-9\"]*$"


 
Non?
 
Apres tu devrais jeter un oeil du cote de stripslashes() et addslashes().

n°571437
saxgard
Posté le 20-11-2003 à 11:56:55  profilanswer
 

Taiche a écrit :

En l'escapant avec \ [:spamafote]
$temp2=ereg_replace("\"","A",$temp2);


 
ok je crois qu'avce ces 2 trucs  
 
ca devrait m'aider et ca devrait suffir enfin je pense  ;o)
cela dit je persista dire que ces histoires de 'et de " bin c assez embarassant ;o)
 
merci

n°571473
saxgard
Posté le 20-11-2003 à 12:20:19  profilanswer
 

a un moment donné j'affiche un champ contennat un '
exemple : 'TEST'  
$row->design_long (= 'TEST' ) récupéré dans la base de donnée
 
de cette facon :
 

Code :
  1. echo " <td><input type=text size='20' name=design_long[".$i."] id=design_long_".$i." value='".$row->design_long."' maxlength='80'></td>";


 
resultat rien ne s'afiche dans le formulaire

n°572124
omega2
Posté le 21-11-2003 à 01:18:19  profilanswer
 

Ben peut être qu'un

Code :
  1. echo " <td><input type=text size='20' name=design_long[".$i."] id=design_long_".$i." value='".addslashes($row->design_long)."' maxlength='80'></td>";

te permettras d'affiché la donné comme il faut même avec des ' à l'intérieur. ;)


Message édité par omega2 le 21-11-2003 à 01:29:38
n°572160
saxgard
Posté le 21-11-2003 à 08:59:01  profilanswer
 

omega2 a écrit :

Ben peut être qu'un

Code :
  1. echo " <td><input type=text size='20' name=design_long[".$i."] id=design_long_".$i." value='".addslashes($row->design_long)."' maxlength='80'></td>";

te permettras d'affiché la donné comme il faut même avec des ' à l'intérieur. ;)


 
ah je vais essayer ca merci

n°572161
saxgard
Posté le 21-11-2003 à 09:06:05  profilanswer
 

omega2 a écrit :

Ben peut être qu'un

Code :
  1. echo " <td><input type=text size='20' name=design_long[".$i."] id=design_long_".$i." value='".addslashes($row->design_long)."' maxlength='80'></td>";

te permettras d'affiché la donné comme il faut même avec des ' à l'intérieur. ;)


 
non ca marche pas  dès qu'il rencontre un ' bin le reste n'ets pas affiché et le  '  non plus  

mood
Publicité
Posté le 21-11-2003 à 09:06:05  profilanswer
 

n°572164
simogeo
j'ai jamais tué de chats, ...
Posté le 21-11-2003 à 09:19:16  profilanswer
 

Code :
  1. echo "<td><input type=text size=\"20\" name=\"design_long['".$i."']\" id=\"design_long_".$i."\" value=\"".addslashes($row->design_long)."\" maxlength=\"80\"></td>";


Message édité par simogeo le 21-11-2003 à 09:19:47

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°572169
saxgard
Posté le 21-11-2003 à 09:25:12  profilanswer
 

simogeo a écrit :

Code :
  1. echo "<td><input type=text size=\"20\" name=\"design_long['".$i."']\" id=\"design_long_".$i."\" value=\"".addslashes($row->design_long)."\" maxlength=\"80\"></td>";




 
ah oui ca ira peut etre meiux la  , je vais essayer

n°572173
saxgard
Posté le 21-11-2003 à 09:37:25  profilanswer
 

simogeo a écrit :

Code :
  1. echo "<td><input type=text size=\"20\" name=\"design_long['".$i."']\" id=\"design_long_".$i."\" value=\"".addslashes($row->design_long)."\" maxlength=\"80\"></td>";




 
c'est bon ca marche
 
merci tt le monde
 
PS , ca se peut que je rencontre d'autres pb lié a ces quotes , je vous ferais signe  ;o)

n°572174
simogeo
j'ai jamais tué de chats, ...
Posté le 21-11-2003 à 09:43:12  profilanswer
 

Saxgard a écrit :


PS , ca se peut que je rencontre d'autres pb lié a ces quotes , je vous ferais signe  ;o)
 


 
ben si t'as compris pourquoi ca marchait ... tu devrais plus avoir besoin de nous faire signe  ;)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°572176
saxgard
Posté le 21-11-2003 à 09:45:10  profilanswer
 

simogeo a écrit :

Code :
  1. echo "<td><input type=text size=\"20\" name=\"design_long['".$i."']\" id=\"design_long_".$i."\" value=\"".addslashes($row->design_long)."\" maxlength=\"80\"></td>";




 
bon j'ai crié victoire trop top ca marche  toujours pas
 
la ca m'affiche dans le cas de  
 
TEST "TEST"  
 
ca affiche
TEST \     c'est tout
 
ensuite j'ai essayé de mettre

Code :
  1. value=\"$row->design_long\"


 
et la il n'y a que
 
TEST   qui s'affiche par contre
 
si je met  
 
TEST 'TEST'  la ca marche
 
franchement c'est prise de tete ces quotes
 
comment faire  pour pouvoire afficher les ' et "  :(


Message édité par saxgard le 21-11-2003 à 09:45:26
n°572180
simogeo
j'ai jamais tué de chats, ...
Posté le 21-11-2003 à 09:49:33  profilanswer
 

je sais pas comment tu t'y prend mais y'a rien de plus classique que d'afficher des données récupérés d'une bdd .... avec ou sans quotes ..... elles sont intégres tes données en sortie de bas ou pas ?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°572191
saxgard
Posté le 21-11-2003 à 10:03:38  profilanswer
 

simogeo a écrit :

je sais pas comment tu t'y prend mais y'a rien de plus classique que d'afficher des données récupérés d'une bdd .... avec ou sans quotes ..... elles sont intégres tes données en sortie de bas ou pas ?


 
bin moi non plus il est la le pb , jes ais pas comment ca se fait que je galère autant  
 
OUi je récupère directement la valeur d'une base de données
 
quand je fais un simple echo de cette valur il ya  pas le moindre problème.
 
mon problème se pose dans le champ , avec le value  
soit j'arrive a afficher les ' soit les "  mais jamais les  2  
 

n°572197
simogeo
j'ai jamais tué de chats, ...
Posté le 21-11-2003 à 10:07:35  profilanswer
 

$input_name=design_long[$i];
$input_value=stripslashes($row->design_long);
 
echo "<td><input type=\"text\" size=\"20\" name=\"".$input_name."\" id=\"design_long_".$i."\" value=\"".$input_value."\" maxlength=\"80\"></td>";


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°572201
saxgard
Posté le 21-11-2003 à 10:09:02  profilanswer
 

toujours pour : $row->design_long= TEST "TEST"
 

Code :
  1. echo " <td><input type=text size='20' name=design_long[".$i."] id=design_long_".$i." value=\"".$row->design_long."\" maxlength='80'></td>";


 
Bon pourquoi ca ne m'affiche pas les " ?
 

Code :
  1. echo " <td><input type=text size='20' name=design_long[".$i."] id=design_long_".$i." value=\"".addslashes($row->design_long)."\" maxlength='80'></td>";


 
cette ligne ca m'affiche le \ mais pas de "

n°572203
saxgard
Posté le 21-11-2003 à 10:09:52  profilanswer
 

simogeo a écrit :

$input_name=design_long[$i];
$input_value=stripslashes($row->design_long);
 
echo "<td><input type=\"text\" size=\"20\" name=\"".$input_name."\" id=\"design_long_".$i."\" value=\"".$input_value."\" maxlength=\"80\"></td>";


 
 
je vais essayer ca , je te remercie du temps et des efforts quetu passe a m'aider   :jap:

n°572205
saxgard
Posté le 21-11-2003 à 10:12:07  profilanswer
 

simogeo a écrit :

$input_name=design_long[$i];
$input_value=stripslashes($row->design_long);
 
echo "<td><input type=\"text\" size=\"20\" name=\"".$input_name."\" id=\"design_long_".$i."\" value=\"".$input_value."\" maxlength=\"80\"></td>";


 
j'ai encore le meme  probleme  , il n'y a que TEST qui s'affiche par consequent ca bloque a  "  

n°572206
simogeo
j'ai jamais tué de chats, ...
Posté le 21-11-2003 à 10:13:34  profilanswer
 

postes ici la portion de code html générée, plize


Message édité par simogeo le 21-11-2003 à 10:13:47

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°572210
saxgard
Posté le 21-11-2003 à 10:18:15  profilanswer
 

simogeo a écrit :

postes ici la portion de code html générée, plize


 

Code :
  1. <td><input type=text size='20' name=design_long[0] id=design_long_0 value="TEST "TEST"" maxlength='80'></td>


 
il me met ca  , quand on voit ca on comprend que ca merde  
met quand je met addslashes ou que je met rien  
ca marche pas non  
bon j'essaye sans rien nis strip ni addslashes  ;o) et je te montre

n°572211
saxgard
Posté le 21-11-2003 à 10:20:24  profilanswer
 

Pour :

Code :
  1. echo " <td><input type=text size='20' name=design_long[".$i."] id=design_long_".$i." value=\"".$row->design_long."\" maxlength='80'></td>";


 
j'ai pareil

Code :
  1. <td><input type=text size='20' name=design_long[0] id=design_long_0 value="TEST "TEST"" maxlength='80'></td>


 
mnt je vais essayer avce addslasshes

n°572212
saxgard
Posté le 21-11-2003 à 10:22:36  profilanswer
 

et si je fais  :

Code :
  1. echo " <td><input type=text size='20' name=design_long[".$i."] id=design_long_".$i." value=\"".addslashes($row->design_long)."\" maxlength='80'></td>";


 
j'ai :

Code :
  1. <td><input type=text size='20' name=design_long[0] id=design_long_0 value="TEST \"TEST\"" maxlength='80'></td>


 
et la a l'affichage j'ai seulement
 
TEST \  

n°572214
simogeo
j'ai jamais tué de chats, ...
Posté le 21-11-2003 à 10:26:28  profilanswer
 

htmlentities(stripslashes($row->design_long));


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°572220
saxgard
Posté le 21-11-2003 à 10:33:03  profilanswer
 

simogeo a écrit :

htmlentities(stripslashes($row->design_long));


 
ok je vais essayer ca , c'ets justement ce que j'étais en train de regarder  
pour remplacer les " et les ' par les codes html de type &#62 etc..
enfin bon je vais essayer ta fonction puisque je pense que ca doitvenir au meme ;o)

n°572225
saxgard
Posté le 21-11-2003 à 10:38:01  profilanswer
 

Merci beaucoup ca marche  
 
on y est enfin arrivé
je persiste a dire qu'ils nous font bien chié ces quotes  :D

n°572245
saxgard
Posté le 21-11-2003 à 11:04:22  profilanswer
 

j'imagine qu'il faut queje fasse le meme traitement quand je rempli des menu deroulants a partir d'info récupéré d'une base de données?
 

n°572251
simogeo
j'ai jamais tué de chats, ...
Posté le 21-11-2003 à 11:06:41  profilanswer
 

en fonction du type de données ca peut être intéressant


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°572256
saxgard
Posté le 21-11-2003 à 11:10:14  profilanswer
 

simogeo a écrit :

en fonction du type de données ca peut être intéressant


 
en gros par précaution ca ne coute rein en debut d'appli d'initialiser ces variables de cette fcaon :
 
var1=trim(htmlentities(stripslashes(var1)))
var2=trim(htmlentities(stripslashes(var2)))
...
 
non?
ca peu eviter tt problème non? mais ca ne chnage rine au contenu de la variable? si?
 
admettons que je fasse
 
var1=trim(htmlentities(stripslashes(var1)))
 
et que desuite je fais unn insert dans une base de données
 
es-ce que dans la base la variable aura bien le bon contenu ou aura un contenu modifié a cause des fonctions?

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Traitement des quotes

 

Sujets relatifs
pb du traitement des donnees en PHP recuperees d'un formulaire html[CGI / C] Relancer une page HTML apres traitement du CGI
[Résolu]Probleme de traitement de chaine de caractereRéaliser un petit traitement de texte ?
[PHP] changer magic_quotesPb traitement avec ODBC
cherche éditeur de script avec 'Traitement par lot'Optimisation du traitement des chaînes
Planifiez un job en php (traitement en arriere plan)[PHP] - traitement d'un fichier XML [marche presque] cry
Plus de sujets relatifs à : Traitement des quotes


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR