[PHP] Apostrophe formulaire

Apostrophe formulaire [PHP] - PHP - Programmation

Marsh Posté le 28-04-2009 à 09:53:26    

hello,
 
j'ai un petit souci dans la gestion d'un formulaire... j'ai plusieurs champs sur lesquels les utilisateurs peuvent saisir des apostrophes...
j'ai fait plusieurs recherches sur le net et il faudrait utiliser :  
 
htmlentities($nom);
puis,
html_entity_decode($nom);
 
Mais ca ne fonctionne pas... quand je fais mes tests sur mon formulaire et qu'il revient en arrière (par exemple, tous les champs n'ont pas été saisis), le champs où il y avait l'apostrophe est coupé...
 
Ou faut-il mettre ces fonctions ?
 
merci,

Reply

Marsh Posté le 28-04-2009 à 09:53:26   

Reply

Marsh Posté le 28-04-2009 à 10:01:35    

pour enregistrer dans la bd  
mysql_real_escape_string()  
http://fr.php.net/mysql_real_escape_string
puis pour afficher
htmlspecialchars()
 
je me sert tout le temps de ca, ca marche niquel.


Message édité par infoman64 le 28-04-2009 à 10:03:44
Reply

Marsh Posté le 28-04-2009 à 10:08:12    

Bonjour tout le monde,  
J'ai une question:je suis sur un projet d'interface pour une base de donnée oracle avec le langage PHP et j'airais voulu savoir comment faire pour enregistrer des information d'une page après avoir filtré ou fait un tri sur une colonne par example :pt1cable: ?
j'ai vraiment besoin de votre aide :??:  :??:  
merci d'avance!

Message cité 1 fois
Message édité par moumoune81 le 28-04-2009 à 10:16:15
Reply

Marsh Posté le 28-04-2009 à 10:13:17    

moumoune81 a écrit :

Bonjour tout le monde,  
J'ai une question:je suis sur un projet oracle et PHP et j'airais voulu savoir comment faire pour enregistrer des information d'une page après avoir fait un tri sur unr colonne?
merci d'avance!


c'est a dire?
c'est un peu large comme question quand meme
c'est quoi ton souci? tu arrive pas a te connecter a la bd, t'arrive pas a faire le formulaire,  
(crée un sujet personnel, ta question n'a rien a voir le sujet actuel)

Reply

Marsh Posté le 28-04-2009 à 10:18:20    

merci infoman64...
 
mon souci n'est pas dans l'insertion dans la BDD... c'est même avant...
je m'explique :
j'ai mon formulaire, l'utilisateur le saisit...
ensuite, la page du action du form fait des verifications sur chaque champ pour voir s'il est conforme...
s'il ne l'est pas, je reviens en arriere en affichant dans chaque champs les valeurs déjà saisies...
 
et c'est en affichant ces valeurs déjà saisies que je perds de l'info quand il y a un apostrophe...

Reply

Marsh Posté le 28-04-2009 à 10:23:22    

oui, t'as raison mais je ne sais pas trop où me diriger pour avoir une réponse, je suis nouvelle dans la programmation,j'efectue un stage qui consiste à faire une interface pour une base de donnée oracle avec du php que je connais pas biensur, mais pour l'instant je suis arrivée à me connecter et j'ai fais construire mes propre requetes sql sur la page php mais le souci c'est que lorsque je fait executer ma requete qui fait le tri avec un bouton que j'ai créé, les colonne triées ne sont pas enregistrées :??: et je ne sais pas comment faire ????? :(  

Reply

Marsh Posté le 28-04-2009 à 10:23:29    

donc si je comprends bien
l'utilisateur saisies ces infos
il valide
ta page vérifie les champs, si ils sont pas bon,  
tu redirige sur la précédente page, où tu remplis les champs avec les valeurs saisies par l'utilisateur
 
et la si tu as une apostrophe dans la valeur
tu pert ce qui est aprés l'apostrophe c'est ca?,
 
si c'est ca, tu les perds pas, regarde la source de ta page web , en faite, elles y sont mais n'apparaissent pas vu qu'elle sont aprés les guillemets de fermeture de l'option value
moi je fait ca
<input type="text" name="monchamp" value="<? echo htmlspecialchars($mavaleur);?>" />


Message édité par infoman64 le 28-04-2009 à 10:26:53
Reply

Marsh Posté le 28-04-2009 à 10:25:06    

moumoune81 a écrit :

oui, t'as raison mais je ne sais pas trop où me diriger pour avoir une réponse, je suis nouvelle dans la programmation,j'efectue un stage qui consiste à faire une interface pour une base de donnée oracle avec du php que je connais pas biensur, mais pour l'instant je suis arrivée à me connecter et j'ai fais construire mes propre requetes sql sur la page php mais le souci c'est que lorsque je fait executer ma requete qui fait le tri avec un bouton que j'ai créé, les colonne triées ne sont pas enregistrées :??: et je ne sais pas comment faire ????? :(  


 
http://forum.hardware.fr/hfr/Progr [...] _sujet.htm
 
voila créer ton propre sujet, ca sera plus simple au lieu d'etre au milieu de celui ci

Reply

Marsh Posté le 28-04-2009 à 10:26:52    

je ne suis pas la bienvenue alors :(  :pfff: merci :hello:

Message cité 1 fois
Message édité par moumoune81 le 28-04-2009 à 10:27:46
Reply

Marsh Posté le 28-04-2009 à 10:28:23    

moumoune81 a écrit :

je ne suis pas la bienvenue alors :(  :pfff: marci :hello:


si t'es la bienvenue, mais ca sera plus simple  
pour toi, et pour ce qui vont t'aider d'avoir un sujet rien que a toi,
sans devoir chercher au milieu des reponses de quel sujet on parle

Reply

Marsh Posté le 28-04-2009 à 10:28:23   

Reply

Marsh Posté le 28-04-2009 à 10:29:22    

Merci :hello:

Reply

Marsh Posté le 28-04-2009 à 10:37:58    

c'est exactement mon pb infoman... :)
 
par contre, mes champs sont déjà déclarés dans un "echo" donc j'ai :
<input name='nom' value='$nom' type='text' size='20' />

Reply

Marsh Posté le 28-04-2009 à 10:41:49    

et si je fais ca :
 
<input name='nom' value='".htmlspecialchars($nom)."' type='text' size='20' />
 
ca ne fonctionne tjrs pas... :(

Reply

Marsh Posté le 28-04-2009 à 10:51:24    

htmlentities($mavaleur, ENT_QUOTES);
a l'affichage

Reply

Marsh Posté le 28-04-2009 à 10:55:53    

quand je fais ca, dans mon echo :
 
<input name='nom' value='".htmlspecialchars($nom, ENT_QUOTES)."' type='text' size='20' />
 
ca ne fonctionne pas... je n'ai tjrs que les lettres avant l'apostrophe... :(

Reply

Marsh Posté le 28-04-2009 à 10:56:47    

nan nan avec htmlentities le ent_quotes

Reply

Marsh Posté le 28-04-2009 à 10:57:03    

Si j'ai bien compris ton problème c'est ça :
 
Utilise ceci pour les apostrophes : addslashes($TaVariable);
Et pour récupérer sans les "\" fait avec : stripcslashes($TaVariable)
 

Reply

Marsh Posté le 28-04-2009 à 11:00:45    

<input name='nom' value='".htmlentities($nom, ENT_QUOTES)."' type='text' size='20' />
 
ne fonctionne pas non plus...
 
pour les addslashes / stripslashes, je vois pas où les mettre...

Reply

Marsh Posté le 28-04-2009 à 12:15:44    

helllpppp !!! :)

Reply

Marsh Posté le 28-04-2009 à 13:27:29    

apres tu peut au lieu de mettre de simple cote mettre des doubles quotes pour l'option value, et la htmlspecialchar marche  

Reply

Marsh Posté le 28-04-2009 à 14:06:44    

si je mets :
<input name='nom' value=".htmlspecialchars($nom)." type='text' size='20' />
 
a l'affichage, il me met : type='text'  dans le champs !!! :) la blague !!

Reply

Marsh Posté le 28-04-2009 à 14:10:52    

nan mais  
je disais comme ca
echo "<input name=\"nom\" value=\"".htmlspecialchars($nom)."\" type=\"text\" size=\"20\" /> ";
 
ou comme ta solution
echo "<input name='nom' value=\"".htmlspecialchars($nom)."\" type='text' size='20' />";
je l'avoue c'est moche de faire comme ca, mais au moins ca marche


Message édité par infoman64 le 28-04-2009 à 14:12:14
Reply

Marsh Posté le 28-04-2009 à 14:31:29    

tu vas rire...
 
mais cela ne fonctionne pas...
 
je vais pleurer, je pense !

Reply

Marsh Posté le 28-04-2009 à 14:55:18    

hein ca fonctionne pas  
meme le second?
montre ton code ou tu recupere et ou tu remets

Reply

Marsh Posté le 28-04-2009 à 14:56:23    

J'ai peut-être pas tout suivi mais ceci marcherait non :
?>
<input name='nom' value='
<?php
echo $nom;
?>
'type='text' size='20' />
<?php
 

Reply

Marsh Posté le 28-04-2009 à 15:00:06    

c'est bon en fait...
 
boulet !!!
 
comme je la renvoyais par un champs hidden, il fallait que je repercute le mm code !!
 
ouffff !!!
 
un GRAND merci a toi !!! :)

Reply

Marsh Posté le 28-04-2009 à 15:03:21    

jay-jay69 a écrit :

c'est bon en fait...
 
boulet !!!
 
comme je la renvoyais par un champs hidden, il fallait que je repercute le mm code !!
 
ouffff !!!
 
un GRAND merci a toi !!! :)


 
oui gros boulet la quand même,lol
tant mieux si ca marche


Message édité par infoman64 le 28-04-2009 à 15:04:16
Reply

Marsh Posté le 28-04-2009 à 15:04:04    

par contre, maintenant, ca deconne dans l'insertion dans sql...
 
faut utiliser ca, non ?
 
mysql_real_escape_string ?
 
 

Reply

Marsh Posté le 28-04-2009 à 15:05:24    

ouais moi j'utilise ca
comme ca dans la base les données sont propres, il ya pas de \ ou truc du genre
c'est vraiment identique que ce qu'a tapé l'utilisateur
et apres a l'affichage
htmlspecialchar et hop tout est niquel

Reply

Marsh Posté le 28-04-2009 à 15:06:11    

tu l'utilises a quel moment ? j'suis pas sur d'avoir capté...

Reply

Marsh Posté le 28-04-2009 à 15:11:51    

ben moi si tu veut  
une fois le formulaire validé
dans ma page ou je traite mes données
bon je recupere ma donnée  
puis au moment de faire l'insertion en bd dans la requete
je fais par exemple
insert into matable values('".mysql_real_escape_string($mavaleur)."','titi');

Reply

Marsh Posté le 28-04-2009 à 15:14:41    

oki... impecc...
 
ca roule comme sur des roulettes !!
 
merci bcp chef !!!
 
a bientot !!

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed