Apostrophe formulaire [PHP] - PHP - Programmation
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.
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  ?
 ? 
j'ai vraiment besoin de votre aide  
   
  
merci d'avance! 
Marsh Posté le 28-04-2009 à 10:13:17
| moumoune81 a écrit : Bonjour tout le monde,   | 
 
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)
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...
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 ?????
 et je ne sais pas comment faire ?????  
  
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);?>" />
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  | 
 
 
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
Marsh Posté le 28-04-2009 à 10:26:52
je ne suis pas la bienvenue alors  
   merci
 merci 
Marsh Posté le 28-04-2009 à 10:28:23
| moumoune81 a écrit : je ne suis pas la bienvenue alors  | 
 
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
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' /> 
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... 
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... 
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) 
 
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...
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  
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 !!
 la blague !!
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
Marsh Posté le 28-04-2009 à 14:31:29
tu vas rire... 
 
mais cela ne fonctionne pas... 
 
je vais pleurer, je pense !
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
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 
 
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 !!! 
Marsh Posté le 28-04-2009 à 15:03:21
| jay-jay69 a écrit : c'est bon en fait...  | 
 
 
oui gros boulet la quand même,lol 
tant mieux si ca marche
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 ? 
 
 
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
Marsh Posté le 28-04-2009 à 15:06:11
tu l'utilises a quel moment ? j'suis pas sur d'avoir capté...
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');
Marsh Posté le 28-04-2009 à 15:14:41
oki... impecc... 
 
ca roule comme sur des roulettes !! 
 
merci bcp chef !!! 
 
a bientot !!
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,